Module CamlinternalMenhirLib.General

module General: sig .. end

let take: (int, list('a)) => list('a);
let drop: (int, list('a)) => list('a);
let uniq: (('a, 'a) => int, list('a)) => list('a);
let weed: (('a, 'a) => int, list('a)) => list('a);
type stream('a) = Lazy.t(head('a));
type 'a head = 
| Nil
| Cons of 'a * 'a stream
let length: stream('a) => int;
let foldr: (('a, 'b) => 'b, stream('a), 'b) => 'b;