sig
  val take : int -> 'a list -> 'a list
  val drop : int -> 'a list -> 'a list
  val uniq : ('-> '-> int) -> 'a list -> 'a list
  val weed : ('-> '-> int) -> 'a list -> 'a list
  type 'a stream = 'CamlinternalMenhirLib.General.head Stdlib.Lazy.t
  and 'a head = Nil | Cons of 'a * 'CamlinternalMenhirLib.General.stream
  val length : 'CamlinternalMenhirLib.General.stream -> int
  val foldr :
    ('-> '-> 'b) -> 'CamlinternalMenhirLib.General.stream -> '-> 'b
end