sig
  val any : t option
  val whilst : (Whole.t -> bool) -> string -> bool
  val gt : Whole.t -> t option
  val gte : Whole.t -> t option
  val lt : Whole.t -> t option
  val lte : Whole.t -> t option
end