class cell =
object
val mutable contents = 0
method get = contents
method set x = contents <- x
end;;
let makecell =
object
val mutable contents = 0
method get = contents
method set x = contents <- x
end;;
let test c x =
c#set x;
test (new cell) 1;;
test (makecell) 2;;
Y2xhc3MgY2VsbCA9CglvYmplY3QKCQl2YWwgbXV0YWJsZSBjb250ZW50cyA9IDAKCQltZXRob2QgZ2V0ID0gY29udGVudHMKCQltZXRob2Qgc2V0IHggPSBjb250ZW50cyA8LSB4CgllbmQ7OwoKbGV0IG1ha2VjZWxsID0KCW9iamVjdAoJCXZhbCBtdXRhYmxlIGNvbnRlbnRzID0gMAoJCW1ldGhvZCBnZXQgPSBjb250ZW50cwoJCW1ldGhvZCBzZXQgeCA9IGNvbnRlbnRzIDwtIHgKCWVuZDs7CgpsZXQgdGVzdCBjIHggPQoJYyNzZXQgeDsKCXByaW50X2ludCBjI2dldDs7Cgp0ZXN0IChuZXcgY2VsbCkgMTs7CnRlc3QgKG1ha2VjZWxsKSAyOzs=