functor (T : FUN_TYPE) -> sig type s = T.s type r = T.r type t = s -> r val register : Netplex_types.controller -> (Netplex_types.controller -> t) -> t end