# Module CamlinternalMenhirLib.General

    module General: sig .. end

    val take : int -> 'a list -> 'a list

    val drop : int -> 'a list -> 'a list

    val uniq : ('a -> 'a -> int) -> 'a list -> 'a list

    val weed : ('a -> 'a -> int) -> 'a list -> 'a list

    type 'a stream = 'a head Lazy.t

    type 'a head =

`|` | `Nil`
`|` | `Cons of `'a * 'a stream``

    val length : 'a stream -> int

    val foldr : ('a -> 'b -> 'b) -> 'a stream -> 'b -> 'b