sun, mon, tue, wed, thu, fri, sat internal typealias RawValue = Int internal var hashValue: Int { get } internal init?(rawValue: Int) internal var rawValue: Int { get } }
= .some(Cat()) let animal0: Optional<Animal> = cat0 enum MyOptional<T> { case some(T) case none } let cat1: MyOptional<Cat> = .some(Cat()) let animal1: MyOptional<Animal> = cat1
= .some(Cat()) let animal0: Optional<Animal> = cat0 enum MyOptional<T> { case some(T) case none } let cat1: MyOptional<Cat> = .some(Cat()) let animal1: MyOptional<Animal> = cat1 cannot convert value of type 'MyOptional<Cat>' to specified type 'MyOptional<Animal>'