init(...) { self.foo = ... super.init(...) { // self を使う処理( didSet も有効) }() }
run
func run(_ operation: () throws -> ()) rethrows { operation() }