struct で mutating なメソッドでメソッドチェーンしようとしても
返値が定数として扱われるからチェーンできないのが残念

struct Num {
var val = 0
mutating func increment() -> Num {
val++
return self
}
}

var n = Num()
n.increment().increment()
// error: immutable value of type 'Num' only has mutating members named 'increment'