sig
  class type t =
    object
      method peek_char : (Utf8_char.t -> unit) -> unit
      method read_char : (Utf8_char.t -> unit) -> unit
      method read_while : (Utf8_char.t -> bool) -> (string -> unit) -> unit
    end
  val make_string_reader : string -> Cps_reader.t
  val make_utf8_string_reader : string -> Cps_reader.t
  val make_utf8_file_reader : string -> Cps_reader.t
end