functor (C:sig end->
  struct
    type media = out_channel
    let r = ref stdout
    let media () = !r
    let set_media t = r := t
    let output level s = output_string !r s; flush !r
  end