functor (A : Model.S-> sig val control : unit -> unit end