{-# LANGUAGE CPP                 #-}
{-# LANGUAGE GADTs               #-}
{-# LANGUAGE OverloadedStrings   #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE Trustworthy         #-}
#if __GLASGOW_HASKELL__ < 709
{-# OPTIONS_GHC -fcontext-stack=50 #-}
#endif
-- | JSON grammar example.
module RERE.Examples.JSON where

import Prelude hiding (exponent)

import Data.Vec.Lazy (Vec (..))
import Data.Void     (Void)

import qualified Data.Type.Nat as N
import qualified Data.Vec.Lazy as V

import           RERE
import qualified RERE.CharSet as CS

#if !MIN_VERSION_base(4,11,0)
import Data.Semigroup (Semigroup (..))
#endif

-- $setup
-- >>> import RERE

-- | Size of JSON grammar, 22.
type Size = N.Mult2 (N.Plus N.Nat5 N.Nat6)

-- | JSON recursive regular expression constructor from 'jsonCFG'.
--
-- @
-- 'jsonRE'' = 'compact' ('cfgToRE' 'jsonNames' 'jsonCFG')
-- @
--
-- The conversion doesn't optimize the resulting regular expression,
-- but is relatively fast.
--
-- >>> size (cfgToRE jsonNames jsonCFG)
-- 232
--
-- 'jsonRE' is pre-calculated variant.
--
-- >>> size jsonRE
-- 205
--
jsonRE' :: RE Void
jsonRE' :: RE Void
jsonRE' = RE Void -> RE Void
forall a. Ord a => RE a -> RE a
compact (Vec
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
  Name
-> CFG
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
     Void
-> RE Void
forall (n :: Nat) a.
(SNatI n, Ord a) =>
Vec ('S n) Name -> CFG ('S n) a -> RE a
cfgToRE Vec Size Name
Vec
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
  Name
jsonNames CFG
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
  Void
forall a. Ord a => CFG Size a
jsonCFG)

-- | Names of 'jsonCFG' productions.
jsonNames :: Vec Size Name
jsonNames :: Vec Size Name
jsonNames = Vec
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
  Name
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
     Name
forall (n :: Nat) a. Vec n a -> Vec n a
V.reverse (Vec
   ('S
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
   Name
 -> Vec
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S ('S ('S ('S 'Z))))))))))))))))))))))
      Name)
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
     Name
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
     Name
forall a b. (a -> b) -> a -> b
$
    Name
"json" Name
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))))))))))))
     Name
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
     Name
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Name
"value" Name
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))
     Name
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))))))))))))
     Name
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Name
"object" Name
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))))))))))
     Name
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))
     Name
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Name
"members" Name
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))
     Name
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))))))))))
     Name
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Name
"member" Name
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))))))))
     Name
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))
     Name
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Name
"array" Name
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))
     Name
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))))))))
     Name
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Name
"elements" Name
-> Vec
     ('S
        ('S
           ('S
              ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))))))
     Name
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))
     Name
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Name
"element" Name
-> Vec
     ('S
        ('S
           ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))
     Name
-> Vec
     ('S
        ('S
           ('S
              ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))))))
     Name
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Name
"string" Name
-> Vec
     ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))))
     Name
-> Vec
     ('S
        ('S
           ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))
     Name
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Name
"characters" Name
-> Vec
     ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))) Name
-> Vec
     ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))))
     Name
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Name
"character" Name
-> Vec
     ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))) Name
-> Vec
     ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))) Name
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Name
"escape" Name
-> Vec ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))) Name
-> Vec
     ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))) Name
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Name
"hex" Name
-> Vec ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))) Name
-> Vec ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))) Name
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Name
"number" Name
-> Vec ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))) Name
-> Vec ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))) Name
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Name
"integer" Name
-> Vec ('S ('S ('S ('S ('S ('S ('S 'Z))))))) Name
-> Vec ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))) Name
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Name
"digits" Name
-> Vec ('S ('S ('S ('S ('S ('S 'Z)))))) Name
-> Vec ('S ('S ('S ('S ('S ('S ('S 'Z))))))) Name
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Name
"digit" Name
-> Vec ('S ('S ('S ('S ('S 'Z))))) Name
-> Vec ('S ('S ('S ('S ('S ('S 'Z)))))) Name
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Name
"onenine" Name
-> Vec ('S ('S ('S ('S 'Z)))) Name
-> Vec ('S ('S ('S ('S ('S 'Z))))) Name
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Name
"fraction" Name
-> Vec ('S ('S ('S 'Z))) Name -> Vec ('S ('S ('S ('S 'Z)))) Name
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Name
"exponent" Name -> Vec ('S ('S 'Z)) Name -> Vec ('S ('S ('S 'Z))) Name
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Name
"sign" Name -> Vec ('S 'Z) Name -> Vec ('S ('S 'Z)) Name
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Name
"ws" Name -> Vec 'Z Name -> Vec ('S 'Z) Name
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Vec 'Z Name
forall a. Vec 'Z a
VNil

-- | JSON grammar
jsonCFG :: forall a. Ord a => CFG Size a
jsonCFG :: CFG Size a
jsonCFG = Vec
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
  (RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a))
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall (n :: Nat) a. Vec n a -> Vec n a
V.reverse (Vec
   ('S
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
   (RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
 -> Vec
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S ('S ('S ('S 'Z))))))))))))))))))))))
      (RE
         (Either
            (Fin
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              ('S
                                                                                 'Z)))))))))))))))))))))))
            a)))
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a b. (a -> b) -> a -> b
$
    CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
json RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
value RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
object RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
members RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
member RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
array RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
elements RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> Vec
     ('S
        ('S
           ('S
              ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S
        ('S
           ('S
              ('S
                 ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
element RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> Vec
     ('S
        ('S
           ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S
        ('S
           ('S
              ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
string RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> Vec
     ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S
        ('S
           ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
characters RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> Vec
     ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
character RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> Vec
     ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
escape RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> Vec
     ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
hex RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> Vec
     ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
number RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> Vec
     ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S ('S ('S ('S ('S ('S ('S ('S ('S 'Z)))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
integer RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> Vec
     ('S ('S ('S ('S ('S ('S ('S 'Z)))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
digits RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> Vec
     ('S ('S ('S ('S ('S ('S 'Z))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S ('S ('S ('S ('S ('S ('S 'Z)))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
digit RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> Vec
     ('S ('S ('S ('S ('S 'Z)))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S ('S ('S ('S ('S ('S 'Z))))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
forall a. RE a
onenine RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> Vec
     ('S ('S ('S ('S 'Z))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S ('S ('S ('S ('S 'Z)))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
fraction RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> Vec
     ('S ('S ('S 'Z)))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S ('S ('S ('S 'Z))))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
exponent RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> Vec
     ('S ('S 'Z))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S ('S ('S 'Z)))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
sign RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> Vec
     ('S 'Z)
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S ('S 'Z))
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
ws RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> Vec
     'Z
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
-> Vec
     ('S 'Z)
     (RE
        (Either
           (Fin
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             ('S
                                                                                'Z)))))))))))))))))))))))
           a))
forall a (n1 :: Nat). a -> Vec n1 a -> Vec ('S n1) a
::: Vec
  'Z
  (RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a))
forall a. Vec 'Z a
VNil
  where

    _jsonV, valueV, objectV, membersV, memberV, arrayV, elementsV, elementV, stringV, charactersV, characterV, escapeV, hexV, numberV, integerV, digitsV, digitV, onenineV, fractionV, exponentV, signV, wsV :: CFGBase Size a
    _jsonV :: CFGBase Size a
_jsonV      = Either
  (Fin
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S ('S ('S ('S 'Z)))))))))))))))))))))))
  a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. a -> RE a
Var (Either
   (Fin
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S ('S ('S 'Z)))))))))))))))))))))))
   a
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a b. (a -> b) -> a -> b
$ Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
forall a b. a -> Either a b
Left Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
21
    valueV :: CFGBase Size a
valueV      = Either
  (Fin
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S ('S ('S ('S 'Z)))))))))))))))))))))))
  a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. a -> RE a
Var (Either
   (Fin
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S ('S ('S 'Z)))))))))))))))))))))))
   a
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a b. (a -> b) -> a -> b
$ Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
forall a b. a -> Either a b
Left Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
20
    objectV :: CFGBase Size a
objectV     = Either
  (Fin
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S ('S ('S ('S 'Z)))))))))))))))))))))))
  a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. a -> RE a
Var (Either
   (Fin
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S ('S ('S 'Z)))))))))))))))))))))))
   a
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a b. (a -> b) -> a -> b
$ Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
forall a b. a -> Either a b
Left Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
19
    membersV :: CFGBase Size a
membersV    = Either
  (Fin
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S ('S ('S ('S 'Z)))))))))))))))))))))))
  a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. a -> RE a
Var (Either
   (Fin
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S ('S ('S 'Z)))))))))))))))))))))))
   a
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a b. (a -> b) -> a -> b
$ Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
forall a b. a -> Either a b
Left Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
18
    memberV :: CFGBase Size a
memberV     = Either
  (Fin
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S ('S ('S ('S 'Z)))))))))))))))))))))))
  a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. a -> RE a
Var (Either
   (Fin
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S ('S ('S 'Z)))))))))))))))))))))))
   a
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a b. (a -> b) -> a -> b
$ Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
forall a b. a -> Either a b
Left Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
17
    arrayV :: CFGBase Size a
arrayV      = Either
  (Fin
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S ('S ('S ('S 'Z)))))))))))))))))))))))
  a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. a -> RE a
Var (Either
   (Fin
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S ('S ('S 'Z)))))))))))))))))))))))
   a
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a b. (a -> b) -> a -> b
$ Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
forall a b. a -> Either a b
Left Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
16
    elementsV :: CFGBase Size a
elementsV   = Either
  (Fin
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S ('S ('S ('S 'Z)))))))))))))))))))))))
  a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. a -> RE a
Var (Either
   (Fin
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S ('S ('S 'Z)))))))))))))))))))))))
   a
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a b. (a -> b) -> a -> b
$ Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
forall a b. a -> Either a b
Left Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
15
    elementV :: CFGBase Size a
elementV    = Either
  (Fin
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S ('S ('S ('S 'Z)))))))))))))))))))))))
  a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. a -> RE a
Var (Either
   (Fin
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S ('S ('S 'Z)))))))))))))))))))))))
   a
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a b. (a -> b) -> a -> b
$ Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
forall a b. a -> Either a b
Left Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
14
    stringV :: CFGBase Size a
stringV     = Either
  (Fin
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S ('S ('S ('S 'Z)))))))))))))))))))))))
  a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. a -> RE a
Var (Either
   (Fin
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S ('S ('S 'Z)))))))))))))))))))))))
   a
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a b. (a -> b) -> a -> b
$ Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
forall a b. a -> Either a b
Left Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
13
    charactersV :: CFGBase Size a
charactersV = Either
  (Fin
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S ('S ('S ('S 'Z)))))))))))))))))))))))
  a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. a -> RE a
Var (Either
   (Fin
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S ('S ('S 'Z)))))))))))))))))))))))
   a
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a b. (a -> b) -> a -> b
$ Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
forall a b. a -> Either a b
Left Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
12
    characterV :: CFGBase Size a
characterV  = Either
  (Fin
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S ('S ('S ('S 'Z)))))))))))))))))))))))
  a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. a -> RE a
Var (Either
   (Fin
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S ('S ('S 'Z)))))))))))))))))))))))
   a
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a b. (a -> b) -> a -> b
$ Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
forall a b. a -> Either a b
Left Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
11
    escapeV :: CFGBase Size a
escapeV     = Either
  (Fin
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S ('S ('S ('S 'Z)))))))))))))))))))))))
  a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. a -> RE a
Var (Either
   (Fin
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S ('S ('S 'Z)))))))))))))))))))))))
   a
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a b. (a -> b) -> a -> b
$ Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
forall a b. a -> Either a b
Left Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
10
    hexV :: CFGBase Size a
hexV        = Either
  (Fin
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S ('S ('S ('S 'Z)))))))))))))))))))))))
  a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. a -> RE a
Var (Either
   (Fin
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S ('S ('S 'Z)))))))))))))))))))))))
   a
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a b. (a -> b) -> a -> b
$ Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
forall a b. a -> Either a b
Left Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
9
    numberV :: CFGBase Size a
numberV     = Either
  (Fin
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S ('S ('S ('S 'Z)))))))))))))))))))))))
  a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. a -> RE a
Var (Either
   (Fin
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S ('S ('S 'Z)))))))))))))))))))))))
   a
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a b. (a -> b) -> a -> b
$ Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
forall a b. a -> Either a b
Left Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
8
    integerV :: CFGBase Size a
integerV    = Either
  (Fin
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S ('S ('S ('S 'Z)))))))))))))))))))))))
  a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. a -> RE a
Var (Either
   (Fin
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S ('S ('S 'Z)))))))))))))))))))))))
   a
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a b. (a -> b) -> a -> b
$ Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
forall a b. a -> Either a b
Left Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
7
    digitsV :: CFGBase Size a
digitsV     = Either
  (Fin
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S ('S ('S ('S 'Z)))))))))))))))))))))))
  a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. a -> RE a
Var (Either
   (Fin
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S ('S ('S 'Z)))))))))))))))))))))))
   a
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a b. (a -> b) -> a -> b
$ Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
forall a b. a -> Either a b
Left Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
6
    digitV :: CFGBase Size a
digitV      = Either
  (Fin
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S ('S ('S ('S 'Z)))))))))))))))))))))))
  a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. a -> RE a
Var (Either
   (Fin
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S ('S ('S 'Z)))))))))))))))))))))))
   a
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a b. (a -> b) -> a -> b
$ Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
forall a b. a -> Either a b
Left Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
5
    onenineV :: CFGBase Size a
onenineV    = Either
  (Fin
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S ('S ('S ('S 'Z)))))))))))))))))))))))
  a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. a -> RE a
Var (Either
   (Fin
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S ('S ('S 'Z)))))))))))))))))))))))
   a
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a b. (a -> b) -> a -> b
$ Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
forall a b. a -> Either a b
Left Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
4
    fractionV :: CFGBase Size a
fractionV   = Either
  (Fin
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S ('S ('S ('S 'Z)))))))))))))))))))))))
  a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. a -> RE a
Var (Either
   (Fin
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S ('S ('S 'Z)))))))))))))))))))))))
   a
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a b. (a -> b) -> a -> b
$ Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
forall a b. a -> Either a b
Left Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
3
    exponentV :: CFGBase Size a
exponentV   = Either
  (Fin
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S ('S ('S ('S 'Z)))))))))))))))))))))))
  a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. a -> RE a
Var (Either
   (Fin
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S ('S ('S 'Z)))))))))))))))))))))))
   a
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a b. (a -> b) -> a -> b
$ Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
forall a b. a -> Either a b
Left Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
2
    signV :: CFGBase Size a
signV       = Either
  (Fin
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S ('S ('S ('S 'Z)))))))))))))))))))))))
  a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. a -> RE a
Var (Either
   (Fin
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S ('S ('S 'Z)))))))))))))))))))))))
   a
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a b. (a -> b) -> a -> b
$ Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
forall a b. a -> Either a b
Left Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
1
    wsV :: CFGBase Size a
wsV         = Either
  (Fin
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S ('S ('S ('S 'Z)))))))))))))))))))))))
  a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. a -> RE a
Var (Either
   (Fin
      ('S
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S ('S ('S 'Z)))))))))))))))))))))))
   a
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a b. (a -> b) -> a -> b
$ Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
-> Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a
forall a b. a -> Either a b
Left Fin
  ('S
     ('S
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S ('S ('S ('S ('S ('S ('S ('S 'Z))))))))))))))))))))))
0

    -- json
    --     element
    --
    json :: CFGBase Size a
json = CFGBase Size a
elementV

    -- value
    --     object
    --     array
    --     string
    --     number
    --     "true"
    --     "false"
    --     "null"
    --
    value :: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
value = [RE
   (Either
      (Fin
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           'Z)))))))))))))))))))))))
      a)]
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
unions [ CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
objectV, CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
arrayV, CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
stringV, CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
numberV, RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"true", RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"false", RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"null" ]

    -- object
    --     '{' ws '}'
    --     '{' members '}'
    --
    object :: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
object = RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"{" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
wsV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"}" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Ord a => RE a -> RE a -> RE a
\/ RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"{" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
membersV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"}"

    -- members
    --     member
    --     member ',' members
    --
    members :: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
members = CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
memberV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Ord a => RE a -> RE a -> RE a
\/ CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
memberV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"," RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
membersV

    -- member
    --     ws string ws ':' element
    --
    member :: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
member = CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
wsV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
stringV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
wsV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
":" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
elementV

    -- array
    --     '[' ws ']'
    --     '[' elements ']'
    --
    array :: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
array = RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"[" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
wsV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"]" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Ord a => RE a -> RE a -> RE a
\/ RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"[" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
elementsV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"]"

    -- elements
    --     element
    --     element ',' elements
    --
    elements :: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
elements = CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
elementV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Ord a => RE a -> RE a -> RE a
\/ CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
elementV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"," RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
elementsV

    -- element
    --     ws value ws
    --
    element :: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
element = CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
wsV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
valueV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
wsV

    -- string
    --     '"' characters '"'
    --
    string :: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
string = RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"\"" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
charactersV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"\""

    -- characters
    --     ""
    --     character characters
    --
    characters :: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
characters = RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Ord a => RE a -> RE a -> RE a
\/ CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
characterV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
charactersV

    -- character
    --     '0020' . '10FFFF' - '"' - '\'
    --     '\' escape
    --
    character :: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
character = CharSet
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. CharSet -> RE a
Ch CharSet
chars RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Ord a => RE a -> RE a -> RE a
\/ RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"\\" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
escapeV

    chars :: CharSet
chars = String -> CharSet
CS.fromList [ Char
c | Char
c <- [Char
'\x20' .. Char
forall a. Bounded a => a
maxBound ], Char
c Char -> Char -> Bool
forall a. Eq a => a -> a -> Bool
/= Char
'"', Char
c Char -> Char -> Bool
forall a. Eq a => a -> a -> Bool
/= Char
'\\' ]

    -- escape
    --     '"'
    --     '\'
    --     '/'
    --     'b'
    --     'f'
    --     'n'
    --     'r'
    --     't'
    --     'u' hex hex hex hex
    --
    escape :: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
escape =
        CharSet
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. CharSet -> RE a
Ch (String -> CharSet
CS.fromList String
"\"\\/bfnrt")
        RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Ord a => RE a -> RE a -> RE a
\/ RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"u" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
hexV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
hexV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
hexV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
hexV

    -- hex
    --     digit
    --     'A' . 'F'
    --     'a' . 'f'
    hex :: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
hex = CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
digitV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CharSet
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. CharSet -> RE a
Ch (String -> CharSet
CS.fromList String
"ABCDEFabcdef")

    -- number
    --     integer fraction exponent
    --
    number :: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
number = CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
integerV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
fractionV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
exponentV

    -- integer
    --     digit
    --     onenine digits
    --     '-' digit
    --     '-' onenine digits
    --
    integer :: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
integer = CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
digitV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Ord a => RE a -> RE a -> RE a
\/ CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
onenineV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
digitsV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Ord a => RE a -> RE a -> RE a
\/ RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"-" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
digitV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Ord a => RE a -> RE a -> RE a
\/ RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"-" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
onenineV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
digitsV

    -- digits
    --     digit
    --     digit digits
    --
    digits :: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
digits = CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
digitV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Ord a => RE a -> RE a -> RE a
\/ CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
digitV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
digitsV

    -- digit
    --     '0'
    --     onenine
    --
    digit :: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
digit = RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"0" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Ord a => RE a -> RE a -> RE a
\/ CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
onenineV

    -- onenine
    --     '1' . '9'
    --
    onenine :: RE a
onenine = CharSet -> RE a
forall a. CharSet -> RE a
Ch (String -> CharSet
CS.fromList String
"123456789")

    -- fraction
    --     ""
    -- '.' digits
    --
    fraction :: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
fraction = RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Ord a => RE a -> RE a -> RE a
\/ RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"." RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
digitsV

    -- exponent
    --     ""
    --     'E' sign digits
    --     'e' sign digits
    --
    exponent :: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
exponent = RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Ord a => RE a -> RE a -> RE a
\/ RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"E" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
signV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
digitsV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Ord a => RE a -> RE a -> RE a
\/ RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"e" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
signV RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
digitsV

    -- sign
    --     ""
    --     '+'
    --     '-'
    --
    sign :: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
sign = RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Ord a => RE a -> RE a -> RE a
\/ RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"+" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Ord a => RE a -> RE a -> RE a
\/ RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"-"

    -- ws
    --     ""
    --     '0020' ws
    --     '000A' ws
    --     '000D' ws
    --     '0009' ws
    --
    ws :: RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
ws = [RE
   (Either
      (Fin
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           'Z)))))))))))))))))))))))
      a)]
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
unions [RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"", RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"\x20" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
wsV, RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"\x0A" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
wsV, RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"\x0D" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
wsV, RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
"\x09" RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Semigroup a => a -> a -> a
<> CFGBase Size a
RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
wsV ]

    -- unions
    unions :: [RE
   (Either
      (Fin
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           'Z)))))))))))))))))))))))
      a)]
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
unions = (RE
   (Either
      (Fin
         ('S
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           'Z)))))))))))))))))))))))
      a)
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a)
 -> RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a))
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> [RE
      (Either
         (Fin
            ('S
               ('S
                  ('S
                     ('S
                        ('S
                           ('S
                              ('S
                                 ('S
                                    ('S
                                       ('S
                                          ('S
                                             ('S
                                                ('S
                                                   ('S
                                                      ('S
                                                         ('S
                                                            ('S
                                                               ('S
                                                                  ('S
                                                                     ('S
                                                                        ('S
                                                                           ('S
                                                                              'Z)))))))))))))))))))))))
         a)]
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall (t :: * -> *) a b.
Foldable t =>
(a -> b -> b) -> b -> t a -> b
foldr RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
-> RE
     (Either
        (Fin
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S
                                                                          ('S
                                                                             'Z)))))))))))))))))))))))
        a)
forall a. Ord a => RE a -> RE a -> RE a
(\/) RE
  (Either
     (Fin
        ('S
           ('S
              ('S
                 ('S
                    ('S
                       ('S
                          ('S
                             ('S
                                ('S
                                   ('S
                                      ('S
                                         ('S
                                            ('S
                                               ('S
                                                  ('S
                                                     ('S
                                                        ('S
                                                           ('S
                                                              ('S
                                                                 ('S
                                                                    ('S
                                                                       ('S 'Z)))))))))))))))))))))))
     a)
forall a. RE a
Null

-------------------------------------------------------------------------------
-- Cheat
-------------------------------------------------------------------------------

-- | Pre-calculated JSON grammar as regular expression.
--
-- >>> size jsonRE
-- 205
--
-- See 'jsonRE'' for one constructed from 'jsonCFG'.
--
jsonRE :: RE Void
jsonRE :: RE Void
jsonRE =
    Name -> RE Void -> RE (Var Void) -> RE Void
forall a. Name -> RE a -> RE (Var a) -> RE a
Let Name
"ws" (Name -> RE (Var Void) -> RE Void
forall a. Name -> RE (Var a) -> RE a
Fix Name
"ws" (RE (Var Void) -> RE (Var Void) -> RE (Var Void)
forall a. RE a -> RE a -> RE a
Alt RE (Var Void)
forall a. RE a
Eps (RE (Var Void) -> RE (Var Void) -> RE (Var Void)
forall a. RE a -> RE a -> RE a
Alt (RE (Var Void) -> RE (Var Void) -> RE (Var Void)
forall a. RE a -> RE a -> RE a
App (CharSet -> RE (Var Void)
forall a. CharSet -> RE a
Ch CharSet
" ") (Var Void -> RE (Var Void)
forall a. a -> RE a
Var Var Void
forall a. Var a
B)) (RE (Var Void) -> RE (Var Void) -> RE (Var Void)
forall a. RE a -> RE a -> RE a
Alt (RE (Var Void) -> RE (Var Void) -> RE (Var Void)
forall a. RE a -> RE a -> RE a
App (CharSet -> RE (Var Void)
forall a. CharSet -> RE a
Ch CharSet
"\n") (Var Void -> RE (Var Void)
forall a. a -> RE a
Var Var Void
forall a. Var a
B)) (RE (Var Void) -> RE (Var Void) -> RE (Var Void)
forall a. RE a -> RE a -> RE a
Alt (RE (Var Void) -> RE (Var Void) -> RE (Var Void)
forall a. RE a -> RE a -> RE a
App (CharSet -> RE (Var Void)
forall a. CharSet -> RE a
Ch CharSet
"\r") (Var Void -> RE (Var Void)
forall a. a -> RE a
Var Var Void
forall a. Var a
B)) (RE (Var Void) -> RE (Var Void) -> RE (Var Void)
forall a. RE a -> RE a -> RE a
App (CharSet -> RE (Var Void)
forall a. CharSet -> RE a
Ch CharSet
"\t") (Var Void -> RE (Var Void)
forall a. a -> RE a
Var Var Void
forall a. Var a
B))))))) (Name -> RE (Var Void) -> RE (Var (Var Void)) -> RE (Var Void)
forall a. Name -> RE a -> RE (Var a) -> RE a
Let Name
"hex" (RE (Var Void) -> RE (Var Void) -> RE (Var Void)
forall a. RE a -> RE a -> RE a
App (CharSet -> RE (Var Void)
forall a. CharSet -> RE a
Ch CharSet
"0123456789") (CharSet -> RE (Var Void)
forall a. CharSet -> RE a
Ch CharSet
"ABCDEFabcdef")) (Name
-> RE (Var (Var Void))
-> RE (Var (Var (Var Void)))
-> RE (Var (Var Void))
forall a. Name -> RE a -> RE (Var a) -> RE a
Let Name
"escape" (RE (Var (Var Void)) -> RE (Var (Var Void)) -> RE (Var (Var Void))
forall a. RE a -> RE a -> RE a
Alt (CharSet -> RE (Var (Var Void))
forall a. CharSet -> RE a
Ch CharSet
"\"/\\bfnrt") (RE (Var (Var Void)) -> RE (Var (Var Void)) -> RE (Var (Var Void))
forall a. RE a -> RE a -> RE a
App (CharSet -> RE (Var (Var Void))
forall a. CharSet -> RE a
Ch CharSet
"u") (RE (Var (Var Void)) -> RE (Var (Var Void)) -> RE (Var (Var Void))
forall a. RE a -> RE a -> RE a
App (Var (Var Void) -> RE (Var (Var Void))
forall a. a -> RE a
Var Var (Var Void)
forall a. Var a
B) (RE (Var (Var Void)) -> RE (Var (Var Void)) -> RE (Var (Var Void))
forall a. RE a -> RE a -> RE a
App (Var (Var Void) -> RE (Var (Var Void))
forall a. a -> RE a
Var Var (Var Void)
forall a. Var a
B) (RE (Var (Var Void)) -> RE (Var (Var Void)) -> RE (Var (Var Void))
forall a. RE a -> RE a -> RE a
App (Var (Var Void) -> RE (Var (Var Void))
forall a. a -> RE a
Var Var (Var Void)
forall a. Var a
B) (Var (Var Void) -> RE (Var (Var Void))
forall a. a -> RE a
Var Var (Var Void)
forall a. Var a
B)))))) (Name
-> RE (Var (Var (Var Void)))
-> RE (Var (Var (Var (Var Void))))
-> RE (Var (Var (Var Void)))
forall a. Name -> RE a -> RE (Var a) -> RE a
Let Name
"character" (RE (Var (Var (Var Void)))
-> RE (Var (Var (Var Void))) -> RE (Var (Var (Var Void)))
forall a. RE a -> RE a -> RE a
Alt (CharSet -> RE (Var (Var (Var Void)))
forall a. CharSet -> RE a
Ch ([(Char, Char)] -> CharSet
CS.fromIntervalList [(Char
'\32',Char
'\33'),(Char
'\35',Char
'\91'),(Char
'\93',Char
'\1114111')])) (RE (Var (Var (Var Void)))
-> RE (Var (Var (Var Void))) -> RE (Var (Var (Var Void)))
forall a. RE a -> RE a -> RE a
App (CharSet -> RE (Var (Var (Var Void)))
forall a. CharSet -> RE a
Ch CharSet
"\\") (Var (Var (Var Void)) -> RE (Var (Var (Var Void)))
forall a. a -> RE a
Var Var (Var (Var Void))
forall a. Var a
B))) (Name
-> RE (Var (Var (Var (Var Void))))
-> RE (Var (Var (Var (Var (Var Void)))))
-> RE (Var (Var (Var (Var Void))))
forall a. Name -> RE a -> RE (Var a) -> RE a
Let Name
"characters" (Name
-> RE (Var (Var (Var (Var (Var Void)))))
-> RE (Var (Var (Var (Var Void))))
forall a. Name -> RE (Var a) -> RE a
Fix Name
"characters" (RE (Var (Var (Var (Var (Var Void)))))
-> RE (Var (Var (Var (Var (Var Void)))))
-> RE (Var (Var (Var (Var (Var Void)))))
forall a. RE a -> RE a -> RE a
Alt RE (Var (Var (Var (Var (Var Void)))))
forall a. RE a
Eps (RE (Var (Var (Var (Var (Var Void)))))
-> RE (Var (Var (Var (Var (Var Void)))))
-> RE (Var (Var (Var (Var (Var Void)))))
forall a. RE a -> RE a -> RE a
App (Var (Var (Var (Var (Var Void))))
-> RE (Var (Var (Var (Var (Var Void)))))
forall a. a -> RE a
Var (Var (Var (Var (Var Void))) -> Var (Var (Var (Var (Var Void))))
forall a. a -> Var a
F Var (Var (Var (Var Void)))
forall a. Var a
B)) (Var (Var (Var (Var (Var Void))))
-> RE (Var (Var (Var (Var (Var Void)))))
forall a. a -> RE a
Var Var (Var (Var (Var (Var Void))))
forall a. Var a
B)))) (Name
-> RE (Var (Var (Var (Var (Var Void)))))
-> RE (Var (Var (Var (Var (Var (Var Void))))))
-> RE (Var (Var (Var (Var (Var Void)))))
forall a. Name -> RE a -> RE (Var a) -> RE a
Let Name
"string" (RE (Var (Var (Var (Var (Var Void)))))
-> RE (Var (Var (Var (Var (Var Void)))))
-> RE (Var (Var (Var (Var (Var Void)))))
forall a. RE a -> RE a -> RE a
App (CharSet -> RE (Var (Var (Var (Var (Var Void)))))
forall a. CharSet -> RE a
Ch CharSet
"\"") (RE (Var (Var (Var (Var (Var Void)))))
-> RE (Var (Var (Var (Var (Var Void)))))
-> RE (Var (Var (Var (Var (Var Void)))))
forall a. RE a -> RE a -> RE a
App (Var (Var (Var (Var (Var Void))))
-> RE (Var (Var (Var (Var (Var Void)))))
forall a. a -> RE a
Var Var (Var (Var (Var (Var Void))))
forall a. Var a
B) (CharSet -> RE (Var (Var (Var (Var (Var Void)))))
forall a. CharSet -> RE a
Ch CharSet
"\""))) (Name
-> RE (Var (Var (Var (Var (Var (Var Void))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> RE (Var (Var (Var (Var (Var (Var Void))))))
forall a. Name -> RE a -> RE (Var a) -> RE a
Let Name
"digits" (Name
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> RE (Var (Var (Var (Var (Var (Var Void))))))
forall a. Name -> RE (Var a) -> RE a
Fix Name
"digits" (RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. RE a -> RE a -> RE a
Alt (CharSet -> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. CharSet -> RE a
Ch CharSet
"0123456789") (RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. RE a -> RE a -> RE a
App (CharSet -> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. CharSet -> RE a
Ch CharSet
"0123456789") (Var (Var (Var (Var (Var (Var (Var Void))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. a -> RE a
Var Var (Var (Var (Var (Var (Var (Var Void))))))
forall a. Var a
B)))) (Name
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> RE (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. Name -> RE a -> RE (Var a) -> RE a
Let Name
"integer" (RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. RE a -> RE a -> RE a
Alt (CharSet -> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. CharSet -> RE a
Ch CharSet
"0123456789") (RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. RE a -> RE a -> RE a
Alt (RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. RE a -> RE a -> RE a
App (CharSet -> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. CharSet -> RE a
Ch CharSet
"123456789") (Var (Var (Var (Var (Var (Var (Var Void))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. a -> RE a
Var Var (Var (Var (Var (Var (Var (Var Void))))))
forall a. Var a
B)) (RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. RE a -> RE a -> RE a
Alt (RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. RE a -> RE a -> RE a
App (CharSet -> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. CharSet -> RE a
Ch CharSet
"-") (CharSet -> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. CharSet -> RE a
Ch CharSet
"0123456789")) (RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. RE a -> RE a -> RE a
App (CharSet -> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. CharSet -> RE a
Ch CharSet
"-") (RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. RE a -> RE a -> RE a
App (CharSet -> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. CharSet -> RE a
Ch CharSet
"123456789") (Var (Var (Var (Var (Var (Var (Var Void))))))
-> RE (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. a -> RE a
Var Var (Var (Var (Var (Var (Var (Var Void))))))
forall a. Var a
B)))))) (Name
-> RE (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
-> RE (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
-> RE (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
forall a. Name -> RE a -> RE (Var a) -> RE a
Let Name
"fraction" (RE (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
-> RE (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
-> RE (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
forall a. RE a -> RE a -> RE a
Alt RE (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
forall a. RE a
Eps (RE (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
-> RE (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
-> RE (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
forall a. RE a -> RE a -> RE a
App (CharSet -> RE (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
forall a. CharSet -> RE a
Ch CharSet
".") (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> RE (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
forall a. a -> RE a
Var (Var (Var (Var (Var (Var (Var (Var Void))))))
-> Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. a -> Var a
F Var (Var (Var (Var (Var (Var (Var Void))))))
forall a. Var a
B)))) (Name
-> RE (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
-> RE
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> RE (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
forall a. Name -> RE a -> RE (Var a) -> RE a
Let Name
"sign" (RE (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
-> RE (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
-> RE (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
forall a. RE a -> RE a -> RE a
Alt RE (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
forall a. RE a
Eps (CharSet
-> RE (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
forall a. CharSet -> RE a
Ch CharSet
"+-")) (Name
-> RE
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> RE
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
-> RE
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. Name -> RE a -> RE (Var a) -> RE a
Let Name
"exponent" (RE (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> RE
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> RE
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. RE a -> RE a -> RE a
Alt RE (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. RE a
Eps (RE (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> RE
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> RE
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. RE a -> RE a -> RE a
Alt (RE (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> RE
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> RE
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. RE a -> RE a -> RE a
App (CharSet
-> RE
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. CharSet -> RE a
Ch CharSet
"E") (RE (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> RE
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> RE
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. RE a -> RE a -> RE a
App (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
-> RE
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. a -> RE a
Var Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
forall a. Var a
B) (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
-> RE
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. a -> RE a
Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var Void))))))
-> Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. a -> Var a
F Var (Var (Var (Var (Var (Var (Var Void))))))
forall a. Var a
B)))))) (RE (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> RE
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> RE
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. RE a -> RE a -> RE a
App (CharSet
-> RE
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. CharSet -> RE a
Ch CharSet
"e") (RE (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> RE
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> RE
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. RE a -> RE a -> RE a
App (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
-> RE
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. a -> RE a
Var Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
forall a. Var a
B) (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
-> RE
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. a -> RE a
Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var Void))))))
-> Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. a -> Var a
F Var (Var (Var (Var (Var (Var (Var Void))))))
forall a. Var a
B)))))))) (Name
-> RE
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
-> RE
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
-> RE
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
forall a. Name -> RE a -> RE (Var a) -> RE a
Let Name
"number" (RE
  (Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
-> RE
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
-> RE
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
forall a. RE a -> RE a -> RE a
App (Var
  (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> RE
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
forall a. a -> RE a
Var (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
-> Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
forall a. a -> Var a
F Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. Var a
B)))) (RE
  (Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
-> RE
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
-> RE
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
forall a. RE a -> RE a -> RE a
App (Var
  (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> RE
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
forall a. a -> RE a
Var (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
-> Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
forall a. a -> Var a
F Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
forall a. Var a
B))) (Var
  (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> RE
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
forall a. a -> RE a
Var Var
  (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. Var a
B))) (Name
-> RE
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
-> RE
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
forall a. Name -> RE a -> RE (Var a) -> RE a
Let Name
"value" (Name
-> RE
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
-> RE
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
forall a. Name -> RE (Var a) -> RE a
Fix Name
"value" (Name
-> RE
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
forall a. Name -> RE a -> RE (Var a) -> RE a
Let Name
"element" (RE
  (Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
forall a. RE a -> RE a -> RE a
App (Var
  (Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
forall a. a -> RE a
Var (Var
  (Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
-> Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
forall a. a -> Var a
F (Var
  (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
-> Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var Void))))))
-> Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var Void)))))
-> Var (Var (Var (Var (Var (Var (Var Void))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var Void))))
-> Var (Var (Var (Var (Var (Var Void)))))
forall a. a -> Var a
F (Var (Var (Var (Var Void))) -> Var (Var (Var (Var (Var Void))))
forall a. a -> Var a
F (Var (Var (Var Void)) -> Var (Var (Var (Var Void)))
forall a. a -> Var a
F (Var (Var Void) -> Var (Var (Var Void))
forall a. a -> Var a
F (Var Void -> Var (Var Void)
forall a. a -> Var a
F Var Void
forall a. Var a
B))))))))))))) (RE
  (Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
forall a. RE a -> RE a -> RE a
App (Var
  (Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
forall a. a -> RE a
Var Var
  (Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
forall a. Var a
B) (Var
  (Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
forall a. a -> RE a
Var (Var
  (Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
-> Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
forall a. a -> Var a
F (Var
  (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
-> Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var Void))))))
-> Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var Void)))))
-> Var (Var (Var (Var (Var (Var (Var Void))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var Void))))
-> Var (Var (Var (Var (Var (Var Void)))))
forall a. a -> Var a
F (Var (Var (Var (Var Void))) -> Var (Var (Var (Var (Var Void))))
forall a. a -> Var a
F (Var (Var (Var Void)) -> Var (Var (Var (Var Void)))
forall a. a -> Var a
F (Var (Var Void) -> Var (Var (Var Void))
forall a. a -> Var a
F (Var Void -> Var (Var Void)
forall a. a -> Var a
F Var Void
forall a. Var a
B))))))))))))))) (Name
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
forall a. Name -> RE a -> RE (Var a) -> RE a
Let Name
"member" (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
forall a. RE a -> RE a -> RE a
App (Var
  (Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
forall a. a -> RE a
Var (Var
  (Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
-> Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
forall a. a -> Var a
F (Var
  (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
-> Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var Void))))))
-> Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var Void)))))
-> Var (Var (Var (Var (Var (Var (Var Void))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var Void))))
-> Var (Var (Var (Var (Var (Var Void)))))
forall a. a -> Var a
F (Var (Var (Var (Var Void))) -> Var (Var (Var (Var (Var Void))))
forall a. a -> Var a
F (Var (Var (Var Void)) -> Var (Var (Var (Var Void)))
forall a. a -> Var a
F (Var (Var Void) -> Var (Var (Var Void))
forall a. a -> Var a
F (Var Void -> Var (Var Void)
forall a. a -> Var a
F Var Void
forall a. Var a
B)))))))))))))) (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
forall a. RE a -> RE a -> RE a
App (Var
  (Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
forall a. a -> RE a
Var (Var
  (Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
-> Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
forall a. a -> Var a
F (Var
  (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
-> Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var Void))))))
-> Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var Void)))))
-> Var (Var (Var (Var (Var (Var (Var Void))))))
forall a. a -> Var a
F Var (Var (Var (Var (Var (Var Void)))))
forall a. Var a
B))))))))) (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
forall a. RE a -> RE a -> RE a
App (Var
  (Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
forall a. a -> RE a
Var (Var
  (Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
-> Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
forall a. a -> Var a
F (Var
  (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
-> Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var Void))))))
-> Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var Void)))))
-> Var (Var (Var (Var (Var (Var (Var Void))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var Void))))
-> Var (Var (Var (Var (Var (Var Void)))))
forall a. a -> Var a
F (Var (Var (Var (Var Void))) -> Var (Var (Var (Var (Var Void))))
forall a. a -> Var a
F (Var (Var (Var Void)) -> Var (Var (Var (Var Void)))
forall a. a -> Var a
F (Var (Var Void) -> Var (Var (Var Void))
forall a. a -> Var a
F (Var Void -> Var (Var Void)
forall a. a -> Var a
F Var Void
forall a. Var a
B)))))))))))))) (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
forall a. RE a -> RE a -> RE a
App (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
":") (Var
  (Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
forall a. a -> RE a
Var Var
  (Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
forall a. Var a
B))))) (Name
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
forall a. Name -> RE a -> RE (Var a) -> RE a
Let Name
"members" (Name
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
forall a. Name -> RE (Var a) -> RE a
Fix Name
"members" (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. RE a -> RE a -> RE a
Alt (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. a -> RE a
Var (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
forall a. a -> Var a
F Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
forall a. Var a
B)) (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. RE a -> RE a -> RE a
App (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. a -> RE a
Var (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
forall a. a -> Var a
F Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
forall a. Var a
B)) (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. RE a -> RE a -> RE a
App (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
",") (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. a -> RE a
Var Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
forall a. Var a
B))))) (Name
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. Name -> RE a -> RE (Var a) -> RE a
Let Name
"object" (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. RE a -> RE a -> RE a
Alt (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. RE a -> RE a -> RE a
App (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
"{") (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. RE a -> RE a -> RE a
App (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. a -> RE a
Var (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
-> Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
forall a. a -> Var a
F (Var
  (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
-> Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var Void))))))
-> Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var Void)))))
-> Var (Var (Var (Var (Var (Var (Var Void))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var Void))))
-> Var (Var (Var (Var (Var (Var Void)))))
forall a. a -> Var a
F (Var (Var (Var (Var Void))) -> Var (Var (Var (Var (Var Void))))
forall a. a -> Var a
F (Var (Var (Var Void)) -> Var (Var (Var (Var Void)))
forall a. a -> Var a
F (Var (Var Void) -> Var (Var (Var Void))
forall a. a -> Var a
F (Var Void -> Var (Var Void)
forall a. a -> Var a
F Var Void
forall a. Var a
B)))))))))))))))) (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
"}"))) (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. RE a -> RE a -> RE a
App (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
"{") (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. RE a -> RE a -> RE a
App (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. a -> RE a
Var Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
forall a. Var a
B) (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
"}")))) (Name
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))
forall a. Name -> RE a -> RE (Var a) -> RE a
Let Name
"elements" (Name
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))
forall a. Name -> RE (Var a) -> RE a
Fix Name
"elements" (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. RE a -> RE a -> RE a
Alt (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. a -> RE a
Var (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
forall a. a -> Var a
F Var
  (Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
forall a. Var a
B))))) (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. RE a -> RE a -> RE a
App (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. a -> RE a
Var (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
forall a. a -> Var a
F Var
  (Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
forall a. Var a
B))))) (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. RE a -> RE a -> RE a
App (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
",") (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. a -> RE a
Var Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))
forall a. Var a
B))))) (Name
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. Name -> RE a -> RE (Var a) -> RE a
Let Name
"array" (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. RE a -> RE a -> RE a
Alt (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. RE a -> RE a -> RE a
App (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
"[") (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. RE a -> RE a -> RE a
App (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. a -> RE a
Var (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
-> Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
forall a. a -> Var a
F (Var
  (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
-> Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var Void))))))
-> Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var Void)))))
-> Var (Var (Var (Var (Var (Var (Var Void))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var Void))))
-> Var (Var (Var (Var (Var (Var Void)))))
forall a. a -> Var a
F (Var (Var (Var (Var Void))) -> Var (Var (Var (Var (Var Void))))
forall a. a -> Var a
F (Var (Var (Var Void)) -> Var (Var (Var (Var Void)))
forall a. a -> Var a
F (Var (Var Void) -> Var (Var (Var Void))
forall a. a -> Var a
F (Var Void -> Var (Var Void)
forall a. a -> Var a
F Var Void
forall a. Var a
B)))))))))))))))))) (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
"]"))) (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. RE a -> RE a -> RE a
App (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
"[") (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. RE a -> RE a -> RE a
App (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. a -> RE a
Var Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))
forall a. Var a
B) (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
"]")))) (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. RE a -> RE a -> RE a
Alt (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. a -> RE a
Var (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))
forall a. a -> Var a
F Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. Var a
B))) (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. RE a -> RE a -> RE a
Alt (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. a -> RE a
Var Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. Var a
B) (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. RE a -> RE a -> RE a
Alt (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. a -> RE a
Var (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
-> Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
forall a. a -> Var a
F (Var
  (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
-> Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var Void))))))
-> Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var Void)))))
-> Var (Var (Var (Var (Var (Var (Var Void))))))
forall a. a -> Var a
F Var (Var (Var (Var (Var (Var Void)))))
forall a. Var a
B)))))))))))))) (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. RE a -> RE a -> RE a
Alt (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. a -> RE a
Var (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
-> Var
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
forall a. a -> Var a
F (Var
  (Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
-> Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
forall a. a -> Var a
F Var
  (Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
forall a. Var a
B)))))))) (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. RE a -> RE a -> RE a
Alt (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. RE a -> RE a -> RE a
App (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
"t") (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. RE a -> RE a -> RE a
App (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
"r") (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. RE a -> RE a -> RE a
App (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
"u") (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
"e")))) (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. RE a -> RE a -> RE a
Alt (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. RE a -> RE a -> RE a
App (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
"f") (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. RE a -> RE a -> RE a
App (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
"a") (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. RE a -> RE a -> RE a
App (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
"l") (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. RE a -> RE a -> RE a
App (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
"s") (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
"e"))))) (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. RE a -> RE a -> RE a
App (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
"n") (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. RE a -> RE a -> RE a
App (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
"u") (RE
  (Var
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. RE a -> RE a -> RE a
App (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
"l") (CharSet
-> RE
     (Var
        (Var
           (Var
              (Var
                 (Var
                    (Var
                       (Var
                          (Var
                             (Var
                                (Var
                                   (Var
                                      (Var
                                         (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))))))))
forall a. CharSet -> RE a
Ch CharSet
"l"))))))))))))))))) (RE
  (Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
forall a. RE a -> RE a -> RE a
App (Var
  (Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
forall a. a -> RE a
Var (Var
  (Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
-> Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
forall a. a -> Var a
F (Var
  (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
-> Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var Void))))))
-> Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var Void)))))
-> Var (Var (Var (Var (Var (Var (Var Void))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var Void))))
-> Var (Var (Var (Var (Var (Var Void)))))
forall a. a -> Var a
F (Var (Var (Var (Var Void))) -> Var (Var (Var (Var (Var Void))))
forall a. a -> Var a
F (Var (Var (Var Void)) -> Var (Var (Var (Var Void)))
forall a. a -> Var a
F (Var (Var Void) -> Var (Var (Var Void))
forall a. a -> Var a
F (Var Void -> Var (Var Void)
forall a. a -> Var a
F Var Void
forall a. Var a
B))))))))))))) (RE
  (Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
forall a. RE a -> RE a -> RE a
App (Var
  (Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
forall a. a -> RE a
Var Var
  (Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
forall a. Var a
B) (Var
  (Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
-> RE
     (Var
        (Var
           (Var
              (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))))
forall a. a -> RE a
Var (Var
  (Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
-> Var
     (Var
        (Var
           (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))))
forall a. a -> Var a
F (Var
  (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
-> Var
     (Var
        (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
-> Var
     (Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
-> Var (Var (Var (Var (Var (Var (Var (Var (Var Void))))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var (Var Void))))))
-> Var (Var (Var (Var (Var (Var (Var (Var Void)))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var (Var Void)))))
-> Var (Var (Var (Var (Var (Var (Var Void))))))
forall a. a -> Var a
F (Var (Var (Var (Var (Var Void))))
-> Var (Var (Var (Var (Var (Var Void)))))
forall a. a -> Var a
F (Var (Var (Var (Var Void))) -> Var (Var (Var (Var (Var Void))))
forall a. a -> Var a
F (Var (Var (Var Void)) -> Var (Var (Var (Var Void)))
forall a. a -> Var a
F (Var (Var Void) -> Var (Var (Var Void))
forall a. a -> Var a
F (Var Void -> Var (Var Void)
forall a. a -> Var a
F Var Void
forall a. Var a
B)))))))))))))))))))))))))))

#ifdef RERE_SLOW_DOCTEST
-- | This are slow tests, take around 90 seconds on my machine
--
-- >>> size jsonRE'
-- 205
--
-- >>> jsonRE == jsonRE'
-- True
--
_doctest1 :: ()
_doctest1 =  ()
#endif