dynamic, anything marked as @objc, ImplicitlyUnwrappedOptional, and so forth.structs that you can’t extend or conform to protocols.enum give you three different kinds of sum types, too.enums means that a lot of complexity gets taken on board as soon as you make them generic, recursive, or both.enum cases act like functions, but are not functions.concat as a method on Array<T> but only where T : SequenceType. (You can do this with free functions, tho, which makes the distinction between methods & free functions that much more galling.)self in methods.init are Byzantine to the point of impossibility.func or closures, and these are distinct both syntactically and semantically (e.g. the latter cannot abstract over types).typealiases & properties cannot be. This includes properties whose values are functions!mutating applies only to methods of value types.inout exists.#! line are interpreted with different rules than arbitrary application/framework files.main.swift.if statement in a script-context file and expect them to work the way they would at the top level.map!m4, of course.GeneratorType (and therefore SequenceType) defy pure implementations for every case except for EmptyGenerator. They are bad.GeneratorType with Stream any time soon, for example, and that’s a shame.