let filter (_, q) =
let rec self (__strm : _ Stream.t) =
match Stream.peek __strm with
| Some ((Sig.COMMENT x, loc)) ->
(Stream.junk __strm;
let xs = __strm in (Queue.add (x, loc) q; self xs))
| Some x ->
(Stream.junk __strm;
let xs = __strm
in Stream.icons x (Stream.slazy (fun _ -> self xs)))
| _ -> Stream.sempty
in self