functor (F : Fun) -> sig type dom = F.dom type cod = F.cod val update : dom -> cod -> unit val call : dom -> (cod -> unit) -> unit val call_direct : dom -> cod end