sig
  type 'a sl
  val empty : 'It_type.IT.Sl.sl
  val destr_head :
    'It_type.IT.Sl.sl ->
    ('It_type.IT.stream * 'It_type.IT.Sl.sl) option
  val cons :
    'It_type.IT.stream -> 'It_type.IT.Sl.sl -> 'It_type.IT.Sl.sl
  val get_one_opt : 'It_type.IT.Sl.sl -> 'It_type.IT.stream option
  val one : 'It_type.IT.stream -> 'It_type.IT.Sl.sl
  val dbgsl : 'It_type.IT.Sl.sl -> string
end