functor (ChannelSpec : sig val oc : Pervasives.out_channel end-> LOGGER