Container { var value: P { get { return _value } set { _value = newValue as! Int } } var _value: Int = 1 } ࣮࣭తʹsuper typeͳͷͰɺcontravarianceϙδγϣϯͰյ ΕΔ 12
{ return _value } set { _value = newValue as! Int } } var _value: Int = 3 } var s = S() let x = s.value s.value = x // OK s.value = Int(1) // Error s.value = "hello" // Error 24