(unit -> unit) ->
object
  val mutable on_destroy : unit -> unit
  method destroy : unit
  method set_on_destroy : (unit -> unit) -> unit
end