Given that an optional type can be represented by a non-optional generic parameter, how can you tell the difference between Optional<T>.none and nil?

Take a look: Challenge: Flattening nested optionals