Parsing types inside and outside of expressions

This is not a bug, but a historical hole in the language, that we 'potentially can fix'.

This works because Element is an associated type from a protocol that Array conforms to which exposes the type.

That does not work because Swift currently does not allow 'qualified lookup' in this context.

let x: Optional<Int>.Wrapped = ... // will error out

Please check this discussion: Allow Member Lookup to Find Generic Parameters