(* peeking ******************************************************************)
let peek = function
| [] -> Empty
| [s, gl] -> Single (s, gl)
| (s, gl) :: _ -> Many (s, gl)
(* peeking ******************************************************************)
let peek = function
| [] -> Empty
| [s, gl] -> Single (s, gl)
| (s, gl) :: _ -> Many (s, gl)