functor (Model : Api.OUTPUT_MODEL->   sig     val output :       ('a, 'b, 'c) Model.channel -> B.t -> (unit, 'd, 'e) Model.thread   end