Module Tyre.Internal

module Internal: sig .. end
Internal types

exception ConverterFailure of string * string
type ('a, 'b) conv = {
   to_ : 'a -> 'b option;
   from_ : 'b -> 'a;
}
type 'a raw = 
| Regexp : Re.t * Re.re Lazy.t -> string raw
| Conv : string * 'a0 raw * ('a0, 'b) conv -> 'b raw
| Opt : 'a1 raw -> 'a1 option raw
| Alt : 'a2 raw * 'b0 raw -> [ `Left of 'a2 | `Right of 'b0 ] raw
| Seq : 'a3 raw * 'b1 raw -> ('a3 * 'b1) raw
| Prefix : 'b2 raw * 'b2 * 'a4 raw -> 'a4 raw
| Suffix : 'a5 raw * 'b3 * 'b3 raw -> 'a5 raw
| Rep : 'a6 raw -> 'a6 Tyre.gen raw
| Mod : (Re.t -> Re.t) * 'a7 raw -> 'a7 raw
val from_t : 'a Tyre.t -> 'a raw
val to_t : 'a raw -> 'a Tyre.t
type '_ wit = 
| Regexp : Re.t -> string wit
| Conv : string * 'a wit * ('a, 'b) conv -> 'b wit
| Opt : Re.markid * int * 'a0 wit -> 'a0 option wit
| Alt : Re.markid * int * 'a1 wit * Re.markid * 'b0 wit -> [ `Left of 'a1 | `Right of 'b0 ] wit
| Seq : 'a2 wit * 'b1 wit -> ('a2 * 'b1) wit
| Rep : 'a3 wit * Re.re -> 'a3 Tyre.gen wit
val build : 'a raw -> int * 'a wit * Re.t
val extract : 'a wit -> int -> Re.substrings -> int * 'a