let is_empty s =
  match peek s with
  | None -> true
  | Some _ -> false