import public Data.List
import public Data.Either
import public Data.SortedSet
import public Data.List1data CharCond : TypeOneOf : SortedSet Char -> CharCondRange : (Char, Char) -> CharCondPred : (Char -> Bool) -> CharCondEq CharCondsatisfies : CharCond -> Char -> Booldata TyRE : Type -> TypeEmpty : TyRE ()MatchChar : CharCond -> TyRE CharGroup : TyRE a -> TyRE String(<*>) : TyRE a -> TyRE b -> TyRE (a, b)Conv : TyRE a -> (a -> b) -> TyRE b(<|>) : TyRE a -> TyRE b -> TyRE (Either a b)Rep : TyRE a -> TyRE (SnocList a)Functor TyREpredicate : (Char -> Bool) -> TyRE Charempty : TyRE ()any : TyRE Chargroup : TyRE a -> TyRE Stringignore : TyRE a -> TyRE ()range : Char -> Char -> TyRE Chardigit : TyRE IntegerdigitChar : TyRE CharoneOfCharsList : List Char -> TyRE CharoneOfChars : String -> TyRE Charmatch : Char -> TyRE ()rep0 : TyRE a -> TyRE (List a)rep1 : TyRE a -> TyRE (List a)rep1l1 : TyRE a -> TyRE (List1 a)option : TyRE a -> TyRE (Maybe a)(*>) : TyRE a -> TyRE b -> TyRE b(<*) : TyRE a -> TyRE b -> TyRE aor : TyRE a -> TyRE a -> TyRE aoneOf : List1 (TyRE a) -> TyRE aletter : TyRE CharrepFrom : Nat -> TyRE a -> TyRE (List a)repTo : Nat -> TyRE a -> TyRE (List a)repFromTo : (from : Nat) -> (to : Nat) -> from <= to = True => TyRE a -> TyRE (List a)repTimesType : Nat -> Type -> TyperepTimes : (n : Nat) -> TyRE a -> TyRE (repTimesType n a)isConsuming : TyRE a -> Booldata IsConsuming : TyRE a -> TypeItIsConsuming : {auto 0 _ : isConsuming re = True} -> IsConsuming re