Int?
に 42
を代入しても Int
にならないのと同じで、 empty になれる型かどうか。remove
は問題になりそう。let
扱いだと簡単だけど( RealNumber
と NonNegativeRealNumber
だったら func -(lhs: NonNegativeRealNumber, rhs: NonNegativeRealNumber) -> RealNumber
でいいけど)、 mutating func
はちょっとややこしそうだ。Array
の popLast
は死なないメソッドだけど https://developer.apple.com/documentation/swift/array/1539777-poplastNonEmptyArray
の popLast
は Logic failure を起こすようにするしかない気が。それとも要素が一つしかないときに popLast
したら nil
を返す?