Avatar
あと、そもそもappendはArray自体のmutable funcで、 mutable funcで型を書き換えるのは厳しい
これは型は変わらないと思ってます。
2:12 AM
Int?42 を代入しても Int にならないのと同じで、 empty になれる型かどうか。
2:12 AM
remove は問題になりそう。
2:15 AM
数値のように全プロパティ let 扱いだと簡単だけど( RealNumberNonNegativeRealNumber だったら func -(lhs: NonNegativeRealNumber, rhs: NonNegativeRealNumber) -> RealNumber でいいけど)、 mutating func はちょっとややこしそうだ。
2:16 AM
現状 ArraypopLast は死なないメソッドだけど https://developer.apple.com/documentation/swift/array/1539777-poplast
2:16 AM
NonEmptyArraypopLast は Logic failure を起こすようにするしかない気が。それとも要素が一つしかないときに popLast したら nil を返す?