Another spontaneous idea (not sure weather I actually like it — take it as brainstorming): Variable deklarations have the form thatIsTheName: ThatIsWhatIAm so the ambiguity could be resolved by ElementType: typealias which would say "ElementType is a associated type", like let i: Int says "i is an integer"