{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE OverlappingInstances #-}
{-# LANGUAGE TemplateHaskell #-}
-- | This module was automatically generated to handle 'Kind's with maximum of8 'KindUnit's.
module Data.Type.Generated where
import Data.Type.Framework
import Data.Type.Kind (Kind(KindArrow,KindUnit))
import Unsafe.Coerce (unsafeCoerce)
import Language.Haskell.TH (Name)
-- | An encapsulation of type with a kind @ * @.
data Type ( x :: * ) = Type
instance TypeClass (Type t) where
	type_ = Type
	kindOf _ = KindUnit
instance Typed (TypeX Type) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.Type"
-- | An encapsulation of type with a kind @ * -> * @.
data TypeX ( x :: * -> * ) = TypeX
instance TypeClass (TypeX t) where
	type_ = TypeX
	kindOf _ = KindArrow KindUnit KindUnit
instance Typed (TypeBXXE TypeX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeX"
-- | An encapsulation of type with a kind @ * -> * -> * @.
data TypeXX ( x :: * -> * -> * ) = TypeXX
instance TypeClass (TypeXX t) where
	type_ = TypeXX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit KindUnit)
instance Typed (TypeBXXXE TypeXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXX"
-- | An encapsulation of type with a kind @ ( * -> * ) -> * @.
data TypeBXXE ( x :: ( * -> * ) -> * ) = TypeBXXE
instance TypeClass (TypeBXXE t) where
	type_ = TypeBXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) KindUnit
instance Typed (TypeBBXXEXE TypeBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXE"
-- | An encapsulation of type with a kind @ * -> * -> * -> * @.
data TypeXXX ( x :: * -> * -> * -> * ) = TypeXXX
instance TypeClass (TypeXXX t) where
	type_ = TypeXXX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))
instance Typed (TypeBXXXXE TypeXXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXXX"
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> * @.
data TypeBXXEX ( x :: ( * -> * ) -> * -> * ) = TypeBXXEX
instance TypeClass (TypeBXXEX t) where
	type_ = TypeBXXEX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)
instance Typed (TypeBBXXEXXE TypeBXXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXEX"
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> * @.
data TypeXBXXE ( x :: * -> ( * -> * ) -> * ) = TypeXBXXE
instance TypeClass (TypeXBXXE t) where
	type_ = TypeXBXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
instance Typed (TypeBXBXXEXE TypeXBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBXXE"
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> * @.
data TypeBXXXE ( x :: ( * -> * -> * ) -> * ) = TypeBXXXE
instance TypeClass (TypeBXXXE t) where
	type_ = TypeBXXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit
instance Typed (TypeBBXXXEXE TypeBXXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXXE"
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> * @.
data TypeBBXXEXE ( x :: ( ( * -> * ) -> * ) -> * ) = TypeBBXXEXE
instance TypeClass (TypeBBXXEXE t) where
	type_ = TypeBBXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit
instance Typed (TypeBBBXXEXEXE TypeBBXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXEXE"
-- | An encapsulation of type with a kind @ * -> * -> * -> * -> * @.
data TypeXXXX ( x :: * -> * -> * -> * -> * ) = TypeXXXX
instance TypeClass (TypeXXXX t) where
	type_ = TypeXXXX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))
instance Typed (TypeBXXXXXE TypeXXXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXXXX"
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> * -> * @.
data TypeBXXEXX ( x :: ( * -> * ) -> * -> * -> * ) = TypeBXXEXX
instance TypeClass (TypeBXXEXX t) where
	type_ = TypeBXXEXX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))
instance Typed (TypeBBXXEXXXE TypeBXXEXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXEXX"
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( * -> * ) -> * @.
data TypeBXXEBXXE ( x :: ( * -> * ) -> ( * -> * ) -> * ) = TypeBXXEBXXE
instance TypeClass (TypeBXXEBXXE t) where
	type_ = TypeBXXEBXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
instance Typed (TypeBBXXEBXXEXE TypeBXXEBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXEBXXE"
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> * -> * @.
data TypeXBXXEX ( x :: * -> ( * -> * ) -> * -> * ) = TypeXBXXEX
instance TypeClass (TypeXBXXEX t) where
	type_ = TypeXBXXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))
instance Typed (TypeBXBXXEXXE TypeXBXXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBXXEX"
-- | An encapsulation of type with a kind @ * -> * -> ( * -> * ) -> * @.
data TypeXXBXXE ( x :: * -> * -> ( * -> * ) -> * ) = TypeXXBXXE
instance TypeClass (TypeXXBXXE t) where
	type_ = TypeXXBXXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))
instance Typed (TypeBXXBXXEXE TypeXXBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXXBXXE"
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> * -> * @.
data TypeBXXXEX ( x :: ( * -> * -> * ) -> * -> * ) = TypeBXXXEX
instance TypeClass (TypeBXXXEX t) where
	type_ = TypeBXXXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)
instance Typed (TypeBBXXXEXXE TypeBXXXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXXEX"
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> * -> * @.
data TypeBBXXEXEX ( x :: ( ( * -> * ) -> * ) -> * -> * ) = TypeBBXXEXEX
instance TypeClass (TypeBBXXEXEX t) where
	type_ = TypeBBXXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)
instance Typed (TypeBBBXXEXEXXE TypeBBXXEXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXEXEX"
-- | An encapsulation of type with a kind @ * -> ( * -> * -> * ) -> * @.
data TypeXBXXXE ( x :: * -> ( * -> * -> * ) -> * ) = TypeXBXXXE
instance TypeClass (TypeXBXXXE t) where
	type_ = TypeXBXXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)
instance Typed (TypeBXBXXXEXE TypeXBXXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBXXXE"
-- | An encapsulation of type with a kind @ * -> ( ( * -> * ) -> * ) -> * @.
data TypeXBBXXEXE ( x :: * -> ( ( * -> * ) -> * ) -> * ) = TypeXBBXXEXE
instance TypeClass (TypeXBBXXEXE t) where
	type_ = TypeXBBXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)
instance Typed (TypeBXBBXXEXEXE TypeXBBXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBBXXEXE"
-- | An encapsulation of type with a kind @ ( * -> * -> * -> * ) -> * @.
data TypeBXXXXE ( x :: ( * -> * -> * -> * ) -> * ) = TypeBXXXXE
instance TypeClass (TypeBXXXXE t) where
	type_ = TypeBXXXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit
instance Typed (TypeBBXXXXEXE TypeBXXXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXXXE"
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * -> * ) -> * @.
data TypeBBXXEXXE ( x :: ( ( * -> * ) -> * -> * ) -> * ) = TypeBBXXEXXE
instance TypeClass (TypeBBXXEXXE t) where
	type_ = TypeBBXXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit
instance Typed (TypeBBBXXEXXEXE TypeBBXXEXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXEXXE"
-- | An encapsulation of type with a kind @ ( * -> ( * -> * ) -> * ) -> * @.
data TypeBXBXXEXE ( x :: ( * -> ( * -> * ) -> * ) -> * ) = TypeBXBXXEXE
instance TypeClass (TypeBXBXXEXE t) where
	type_ = TypeBXBXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit
instance Typed (TypeBBXBXXEXEXE TypeBXBXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXBXXEXE"
-- | An encapsulation of type with a kind @ ( ( * -> * -> * ) -> * ) -> * @.
data TypeBBXXXEXE ( x :: ( ( * -> * -> * ) -> * ) -> * ) = TypeBBXXXEXE
instance TypeClass (TypeBBXXXEXE t) where
	type_ = TypeBBXXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit
instance Typed (TypeBBBXXXEXEXE TypeBBXXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXXEXE"
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * ) -> * ) -> * @.
data TypeBBBXXEXEXE ( x :: ( ( ( * -> * ) -> * ) -> * ) -> * ) = TypeBBBXXEXEXE
instance TypeClass (TypeBBBXXEXEXE t) where
	type_ = TypeBBBXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit
instance Typed (TypeBBBBXXEXEXEXE TypeBBBXXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBXXEXEXE"
-- | An encapsulation of type with a kind @ * -> * -> * -> * -> * -> * @.
data TypeXXXXX ( x :: * -> * -> * -> * -> * -> * ) = TypeXXXXX
instance TypeClass (TypeXXXXX t) where
	type_ = TypeXXXXX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))
instance Typed (TypeBXXXXXXE TypeXXXXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXXXXX"
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> * -> * -> * @.
data TypeBXXEXXX ( x :: ( * -> * ) -> * -> * -> * -> * ) = TypeBXXEXXX
instance TypeClass (TypeBXXEXXX t) where
	type_ = TypeBXXEXXX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))
instance Typed (TypeBBXXEXXXXE TypeBXXEXXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXEXXX"
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( * -> * ) -> * -> * @.
data TypeBXXEBXXEX ( x :: ( * -> * ) -> ( * -> * ) -> * -> * ) = TypeBXXEBXXEX
instance TypeClass (TypeBXXEBXXEX t) where
	type_ = TypeBXXEBXXEX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))
instance Typed (TypeBBXXEBXXEXXE TypeBXXEBXXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXEBXXEX"
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> ( * -> * ) -> * @.
data TypeBXXEXBXXE ( x :: ( * -> * ) -> * -> ( * -> * ) -> * ) = TypeBXXEXBXXE
instance TypeClass (TypeBXXEXBXXE t) where
	type_ = TypeBXXEXBXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))
instance Typed (TypeBBXXEXBXXEXE TypeBXXEXBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXEXBXXE"
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( * -> * -> * ) -> * @.
data TypeBXXEBXXXE ( x :: ( * -> * ) -> ( * -> * -> * ) -> * ) = TypeBXXEBXXXE
instance TypeClass (TypeBXXEBXXXE t) where
	type_ = TypeBXXEBXXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)
instance Typed (TypeBBXXEBXXXEXE TypeBXXEBXXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXEBXXXE"
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( ( * -> * ) -> * ) -> * @.
data TypeBXXEBBXXEXE ( x :: ( * -> * ) -> ( ( * -> * ) -> * ) -> * ) = TypeBXXEBBXXEXE
instance TypeClass (TypeBXXEBBXXEXE t) where
	type_ = TypeBXXEBBXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)
instance Typed (TypeBBXXEBBXXEXEXE TypeBXXEBBXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXEBBXXEXE"
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> * -> * -> * @.
data TypeXBXXEXX ( x :: * -> ( * -> * ) -> * -> * -> * ) = TypeXBXXEXX
instance TypeClass (TypeXBXXEXX t) where
	type_ = TypeXBXXEXX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))
instance Typed (TypeBXBXXEXXXE TypeXBXXEXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBXXEXX"
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> ( * -> * ) -> * @.
data TypeXBXXEBXXE ( x :: * -> ( * -> * ) -> ( * -> * ) -> * ) = TypeXBXXEBXXE
instance TypeClass (TypeXBXXEBXXE t) where
	type_ = TypeXBXXEBXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))
instance Typed (TypeBXBXXEBXXEXE TypeXBXXEBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBXXEBXXE"
-- | An encapsulation of type with a kind @ * -> * -> ( * -> * ) -> * -> * @.
data TypeXXBXXEX ( x :: * -> * -> ( * -> * ) -> * -> * ) = TypeXXBXXEX
instance TypeClass (TypeXXBXXEX t) where
	type_ = TypeXXBXXEX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))
instance Typed (TypeBXXBXXEXXE TypeXXBXXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXXBXXEX"
-- | An encapsulation of type with a kind @ * -> * -> * -> ( * -> * ) -> * @.
data TypeXXXBXXE ( x :: * -> * -> * -> ( * -> * ) -> * ) = TypeXXXBXXE
instance TypeClass (TypeXXXBXXE t) where
	type_ = TypeXXXBXXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))
instance Typed (TypeBXXXBXXEXE TypeXXXBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXXXBXXE"
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> * -> * -> * @.
data TypeBXXXEXX ( x :: ( * -> * -> * ) -> * -> * -> * ) = TypeBXXXEXX
instance TypeClass (TypeBXXXEXX t) where
	type_ = TypeBXXXEXX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))
instance Typed (TypeBBXXXEXXXE TypeBXXXEXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXXEXX"
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> ( * -> * ) -> * @.
data TypeBXXXEBXXE ( x :: ( * -> * -> * ) -> ( * -> * ) -> * ) = TypeBXXXEBXXE
instance TypeClass (TypeBXXXEBXXE t) where
	type_ = TypeBXXXEBXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
instance Typed (TypeBBXXXEBXXEXE TypeBXXXEBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXXEBXXE"
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> * -> * -> * @.
data TypeBBXXEXEXX ( x :: ( ( * -> * ) -> * ) -> * -> * -> * ) = TypeBBXXEXEXX
instance TypeClass (TypeBBXXEXEXX t) where
	type_ = TypeBBXXEXEXX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))
instance Typed (TypeBBBXXEXEXXXE TypeBBXXEXEXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXEXEXX"
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> ( * -> * ) -> * @.
data TypeBBXXEXEBXXE ( x :: ( ( * -> * ) -> * ) -> ( * -> * ) -> * ) = TypeBBXXEXEBXXE
instance TypeClass (TypeBBXXEXEBXXE t) where
	type_ = TypeBBXXEXEBXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
instance Typed (TypeBBBXXEXEBXXEXE TypeBBXXEXEBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXEXEBXXE"
-- | An encapsulation of type with a kind @ * -> ( * -> * -> * ) -> * -> * @.
data TypeXBXXXEX ( x :: * -> ( * -> * -> * ) -> * -> * ) = TypeXBXXXEX
instance TypeClass (TypeXBXXXEX t) where
	type_ = TypeXBXXXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))
instance Typed (TypeBXBXXXEXXE TypeXBXXXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBXXXEX"
-- | An encapsulation of type with a kind @ * -> ( ( * -> * ) -> * ) -> * -> * @.
data TypeXBBXXEXEX ( x :: * -> ( ( * -> * ) -> * ) -> * -> * ) = TypeXBBXXEXEX
instance TypeClass (TypeXBBXXEXEX t) where
	type_ = TypeXBBXXEXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit))
instance Typed (TypeBXBBXXEXEXXE TypeXBBXXEXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBBXXEXEX"
-- | An encapsulation of type with a kind @ * -> * -> ( * -> * -> * ) -> * @.
data TypeXXBXXXE ( x :: * -> * -> ( * -> * -> * ) -> * ) = TypeXXBXXXE
instance TypeClass (TypeXXBXXXE t) where
	type_ = TypeXXBXXXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))
instance Typed (TypeBXXBXXXEXE TypeXXBXXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXXBXXXE"
-- | An encapsulation of type with a kind @ * -> * -> ( ( * -> * ) -> * ) -> * @.
data TypeXXBBXXEXE ( x :: * -> * -> ( ( * -> * ) -> * ) -> * ) = TypeXXBBXXEXE
instance TypeClass (TypeXXBBXXEXE t) where
	type_ = TypeXXBBXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))
instance Typed (TypeBXXBBXXEXEXE TypeXXBBXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXXBBXXEXE"
-- | An encapsulation of type with a kind @ ( * -> * -> * -> * ) -> * -> * @.
data TypeBXXXXEX ( x :: ( * -> * -> * -> * ) -> * -> * ) = TypeBXXXXEX
instance TypeClass (TypeBXXXXEX t) where
	type_ = TypeBXXXXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)
instance Typed (TypeBBXXXXEXXE TypeBXXXXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXXXEX"
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * -> * ) -> * -> * @.
data TypeBBXXEXXEX ( x :: ( ( * -> * ) -> * -> * ) -> * -> * ) = TypeBBXXEXXEX
instance TypeClass (TypeBBXXEXXEX t) where
	type_ = TypeBBXXEXXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)
instance Typed (TypeBBBXXEXXEXXE TypeBBXXEXXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXEXXEX"
-- | An encapsulation of type with a kind @ ( * -> ( * -> * ) -> * ) -> * -> * @.
data TypeBXBXXEXEX ( x :: ( * -> ( * -> * ) -> * ) -> * -> * ) = TypeBXBXXEXEX
instance TypeClass (TypeBXBXXEXEX t) where
	type_ = TypeBXBXXEXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)
instance Typed (TypeBBXBXXEXEXXE TypeBXBXXEXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXBXXEXEX"
-- | An encapsulation of type with a kind @ ( ( * -> * -> * ) -> * ) -> * -> * @.
data TypeBBXXXEXEX ( x :: ( ( * -> * -> * ) -> * ) -> * -> * ) = TypeBBXXXEXEX
instance TypeClass (TypeBBXXXEXEX t) where
	type_ = TypeBBXXXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)
instance Typed (TypeBBBXXXEXEXXE TypeBBXXXEXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXXEXEX"
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * ) -> * ) -> * -> * @.
data TypeBBBXXEXEXEX ( x :: ( ( ( * -> * ) -> * ) -> * ) -> * -> * ) = TypeBBBXXEXEXEX
instance TypeClass (TypeBBBXXEXEXEX t) where
	type_ = TypeBBBXXEXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)
instance Typed (TypeBBBBXXEXEXEXXE TypeBBBXXEXEXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBXXEXEXEX"
-- | An encapsulation of type with a kind @ * -> ( * -> * -> * -> * ) -> * @.
data TypeXBXXXXE ( x :: * -> ( * -> * -> * -> * ) -> * ) = TypeXBXXXXE
instance TypeClass (TypeXBXXXXE t) where
	type_ = TypeXBXXXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)
instance Typed (TypeBXBXXXXEXE TypeXBXXXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBXXXXE"
-- | An encapsulation of type with a kind @ * -> ( ( * -> * ) -> * -> * ) -> * @.
data TypeXBBXXEXXE ( x :: * -> ( ( * -> * ) -> * -> * ) -> * ) = TypeXBBXXEXXE
instance TypeClass (TypeXBBXXEXXE t) where
	type_ = TypeXBBXXEXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)
instance Typed (TypeBXBBXXEXXEXE TypeXBBXXEXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBBXXEXXE"
-- | An encapsulation of type with a kind @ * -> ( * -> ( * -> * ) -> * ) -> * @.
data TypeXBXBXXEXE ( x :: * -> ( * -> ( * -> * ) -> * ) -> * ) = TypeXBXBXXEXE
instance TypeClass (TypeXBXBXXEXE t) where
	type_ = TypeXBXBXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)
instance Typed (TypeBXBXBXXEXEXE TypeXBXBXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBXBXXEXE"
-- | An encapsulation of type with a kind @ * -> ( ( * -> * -> * ) -> * ) -> * @.
data TypeXBBXXXEXE ( x :: * -> ( ( * -> * -> * ) -> * ) -> * ) = TypeXBBXXXEXE
instance TypeClass (TypeXBBXXXEXE t) where
	type_ = TypeXBBXXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)
instance Typed (TypeBXBBXXXEXEXE TypeXBBXXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBBXXXEXE"
-- | An encapsulation of type with a kind @ * -> ( ( ( * -> * ) -> * ) -> * ) -> * @.
data TypeXBBBXXEXEXE ( x :: * -> ( ( ( * -> * ) -> * ) -> * ) -> * ) = TypeXBBBXXEXEXE
instance TypeClass (TypeXBBBXXEXEXE t) where
	type_ = TypeXBBBXXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit)
instance Typed (TypeBXBBBXXEXEXEXE TypeXBBBXXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBBBXXEXEXE"
-- | An encapsulation of type with a kind @ ( * -> * -> * -> * -> * ) -> * @.
data TypeBXXXXXE ( x :: ( * -> * -> * -> * -> * ) -> * ) = TypeBXXXXXE
instance TypeClass (TypeBXXXXXE t) where
	type_ = TypeBXXXXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit
instance Typed (TypeBBXXXXXEXE TypeBXXXXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXXXXE"
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * -> * -> * ) -> * @.
data TypeBBXXEXXXE ( x :: ( ( * -> * ) -> * -> * -> * ) -> * ) = TypeBBXXEXXXE
instance TypeClass (TypeBBXXEXXXE t) where
	type_ = TypeBBXXEXXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit
instance Typed (TypeBBBXXEXXXEXE TypeBBXXEXXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXEXXXE"
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> ( * -> * ) -> * ) -> * @.
data TypeBBXXEBXXEXE ( x :: ( ( * -> * ) -> ( * -> * ) -> * ) -> * ) = TypeBBXXEBXXEXE
instance TypeClass (TypeBBXXEBXXEXE t) where
	type_ = TypeBBXXEBXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit
instance Typed (TypeBBBXXEBXXEXEXE TypeBBXXEBXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXEBXXEXE"
-- | An encapsulation of type with a kind @ ( * -> ( * -> * ) -> * -> * ) -> * @.
data TypeBXBXXEXXE ( x :: ( * -> ( * -> * ) -> * -> * ) -> * ) = TypeBXBXXEXXE
instance TypeClass (TypeBXBXXEXXE t) where
	type_ = TypeBXBXXEXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit
instance Typed (TypeBBXBXXEXXEXE TypeBXBXXEXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXBXXEXXE"
-- | An encapsulation of type with a kind @ ( * -> * -> ( * -> * ) -> * ) -> * @.
data TypeBXXBXXEXE ( x :: ( * -> * -> ( * -> * ) -> * ) -> * ) = TypeBXXBXXEXE
instance TypeClass (TypeBXXBXXEXE t) where
	type_ = TypeBXXBXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit
instance Typed (TypeBBXXBXXEXEXE TypeBXXBXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXBXXEXE"
-- | An encapsulation of type with a kind @ ( ( * -> * -> * ) -> * -> * ) -> * @.
data TypeBBXXXEXXE ( x :: ( ( * -> * -> * ) -> * -> * ) -> * ) = TypeBBXXXEXXE
instance TypeClass (TypeBBXXXEXXE t) where
	type_ = TypeBBXXXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit
instance Typed (TypeBBBXXXEXXEXE TypeBBXXXEXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXXEXXE"
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * ) -> * -> * ) -> * @.
data TypeBBBXXEXEXXE ( x :: ( ( ( * -> * ) -> * ) -> * -> * ) -> * ) = TypeBBBXXEXEXXE
instance TypeClass (TypeBBBXXEXEXXE t) where
	type_ = TypeBBBXXEXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit
instance Typed (TypeBBBBXXEXEXXEXE TypeBBBXXEXEXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBXXEXEXXE"
-- | An encapsulation of type with a kind @ ( * -> ( * -> * -> * ) -> * ) -> * @.
data TypeBXBXXXEXE ( x :: ( * -> ( * -> * -> * ) -> * ) -> * ) = TypeBXBXXXEXE
instance TypeClass (TypeBXBXXXEXE t) where
	type_ = TypeBXBXXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit
instance Typed (TypeBBXBXXXEXEXE TypeBXBXXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXBXXXEXE"
-- | An encapsulation of type with a kind @ ( * -> ( ( * -> * ) -> * ) -> * ) -> * @.
data TypeBXBBXXEXEXE ( x :: ( * -> ( ( * -> * ) -> * ) -> * ) -> * ) = TypeBXBBXXEXEXE
instance TypeClass (TypeBXBBXXEXEXE t) where
	type_ = TypeBXBBXXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit
instance Typed (TypeBBXBBXXEXEXEXE TypeBXBBXXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXBBXXEXEXE"
-- | An encapsulation of type with a kind @ ( ( * -> * -> * -> * ) -> * ) -> * @.
data TypeBBXXXXEXE ( x :: ( ( * -> * -> * -> * ) -> * ) -> * ) = TypeBBXXXXEXE
instance TypeClass (TypeBBXXXXEXE t) where
	type_ = TypeBBXXXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit
instance Typed (TypeBBBXXXXEXEXE TypeBBXXXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXXXEXE"
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * -> * ) -> * ) -> * @.
data TypeBBBXXEXXEXE ( x :: ( ( ( * -> * ) -> * -> * ) -> * ) -> * ) = TypeBBBXXEXXEXE
instance TypeClass (TypeBBBXXEXXEXE t) where
	type_ = TypeBBBXXEXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit
instance Typed (TypeBBBBXXEXXEXEXE TypeBBBXXEXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBXXEXXEXE"
-- | An encapsulation of type with a kind @ ( ( * -> ( * -> * ) -> * ) -> * ) -> * @.
data TypeBBXBXXEXEXE ( x :: ( ( * -> ( * -> * ) -> * ) -> * ) -> * ) = TypeBBXBXXEXEXE
instance TypeClass (TypeBBXBXXEXEXE t) where
	type_ = TypeBBXBXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit
instance Typed (TypeBBBXBXXEXEXEXE TypeBBXBXXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXBXXEXEXE"
-- | An encapsulation of type with a kind @ ( ( ( * -> * -> * ) -> * ) -> * ) -> * @.
data TypeBBBXXXEXEXE ( x :: ( ( ( * -> * -> * ) -> * ) -> * ) -> * ) = TypeBBBXXXEXEXE
instance TypeClass (TypeBBBXXXEXEXE t) where
	type_ = TypeBBBXXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit
instance Typed (TypeBBBBXXXEXEXEXE TypeBBBXXXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBXXXEXEXE"
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBBBBXXEXEXEXE ( x :: ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBBBBXXEXEXEXE
instance TypeClass (TypeBBBBXXEXEXEXE t) where
	type_ = TypeBBBBXXEXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) KindUnit
instance Typed (TypeBBBBBXXEXEXEXEXE TypeBBBBXXEXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBBXXEXEXEXE"
-- | An encapsulation of type with a kind @ * -> * -> * -> * -> * -> * -> * @.
data TypeXXXXXX ( x :: * -> * -> * -> * -> * -> * -> * ) = TypeXXXXXX
instance TypeClass (TypeXXXXXX t) where
	type_ = TypeXXXXXX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))))
instance Typed (TypeBXXXXXXXE TypeXXXXXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXXXXXX"
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> * -> * -> * -> * @.
data TypeBXXEXXXX ( x :: ( * -> * ) -> * -> * -> * -> * -> * ) = TypeBXXEXXXX
instance TypeClass (TypeBXXEXXXX t) where
	type_ = TypeBXXEXXXX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))
instance Typed (TypeBBXXEXXXXXE TypeBXXEXXXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXEXXXX"
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( * -> * ) -> * -> * -> * @.
data TypeBXXEBXXEXX ( x :: ( * -> * ) -> ( * -> * ) -> * -> * -> * ) = TypeBXXEBXXEXX
instance TypeClass (TypeBXXEBXXEXX t) where
	type_ = TypeBXXEBXXEXX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))
instance Typed (TypeBBXXEBXXEXXXE TypeBXXEBXXEXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXEBXXEXX"
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( * -> * ) -> ( * -> * ) -> * @.
data TypeBXXEBXXEBXXE ( x :: ( * -> * ) -> ( * -> * ) -> ( * -> * ) -> * ) = TypeBXXEBXXEBXXE
instance TypeClass (TypeBXXEBXXEBXXE t) where
	type_ = TypeBXXEBXXEBXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))
instance Typed (TypeBBXXEBXXEBXXEXE TypeBXXEBXXEBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXEBXXEBXXE"
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> ( * -> * ) -> * -> * @.
data TypeBXXEXBXXEX ( x :: ( * -> * ) -> * -> ( * -> * ) -> * -> * ) = TypeBXXEXBXXEX
instance TypeClass (TypeBXXEXBXXEX t) where
	type_ = TypeBXXEXBXXEX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))
instance Typed (TypeBBXXEXBXXEXXE TypeBXXEXBXXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXEXBXXEX"
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> * -> ( * -> * ) -> * @.
data TypeBXXEXXBXXE ( x :: ( * -> * ) -> * -> * -> ( * -> * ) -> * ) = TypeBXXEXXBXXE
instance TypeClass (TypeBXXEXXBXXE t) where
	type_ = TypeBXXEXXBXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))
instance Typed (TypeBBXXEXXBXXEXE TypeBXXEXXBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXEXXBXXE"
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( * -> * -> * ) -> * -> * @.
data TypeBXXEBXXXEX ( x :: ( * -> * ) -> ( * -> * -> * ) -> * -> * ) = TypeBXXEBXXXEX
instance TypeClass (TypeBXXEBXXXEX t) where
	type_ = TypeBXXEBXXXEX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))
instance Typed (TypeBBXXEBXXXEXXE TypeBXXEBXXXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXEBXXXEX"
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( ( * -> * ) -> * ) -> * -> * @.
data TypeBXXEBBXXEXEX ( x :: ( * -> * ) -> ( ( * -> * ) -> * ) -> * -> * ) = TypeBXXEBBXXEXEX
instance TypeClass (TypeBXXEBBXXEXEX t) where
	type_ = TypeBXXEBBXXEXEX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit))
instance Typed (TypeBBXXEBBXXEXEXXE TypeBXXEBBXXEXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXEBBXXEXEX"
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> ( * -> * -> * ) -> * @.
data TypeBXXEXBXXXE ( x :: ( * -> * ) -> * -> ( * -> * -> * ) -> * ) = TypeBXXEXBXXXE
instance TypeClass (TypeBXXEXBXXXE t) where
	type_ = TypeBXXEXBXXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))
instance Typed (TypeBBXXEXBXXXEXE TypeBXXEXBXXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXEXBXXXE"
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> ( ( * -> * ) -> * ) -> * @.
data TypeBXXEXBBXXEXE ( x :: ( * -> * ) -> * -> ( ( * -> * ) -> * ) -> * ) = TypeBXXEXBBXXEXE
instance TypeClass (TypeBXXEXBBXXEXE t) where
	type_ = TypeBXXEXBBXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))
instance Typed (TypeBBXXEXBBXXEXEXE TypeBXXEXBBXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXEXBBXXEXE"
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( * -> * -> * -> * ) -> * @.
data TypeBXXEBXXXXE ( x :: ( * -> * ) -> ( * -> * -> * -> * ) -> * ) = TypeBXXEBXXXXE
instance TypeClass (TypeBXXEBXXXXE t) where
	type_ = TypeBXXEBXXXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)
instance Typed (TypeBBXXEBXXXXEXE TypeBXXEBXXXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXEBXXXXE"
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( ( * -> * ) -> * -> * ) -> * @.
data TypeBXXEBBXXEXXE ( x :: ( * -> * ) -> ( ( * -> * ) -> * -> * ) -> * ) = TypeBXXEBBXXEXXE
instance TypeClass (TypeBXXEBBXXEXXE t) where
	type_ = TypeBXXEBBXXEXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)
instance Typed (TypeBBXXEBBXXEXXEXE TypeBXXEBBXXEXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXEBBXXEXXE"
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( * -> ( * -> * ) -> * ) -> * @.
data TypeBXXEBXBXXEXE ( x :: ( * -> * ) -> ( * -> ( * -> * ) -> * ) -> * ) = TypeBXXEBXBXXEXE
instance TypeClass (TypeBXXEBXBXXEXE t) where
	type_ = TypeBXXEBXBXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)
instance Typed (TypeBBXXEBXBXXEXEXE TypeBXXEBXBXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXEBXBXXEXE"
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( ( * -> * -> * ) -> * ) -> * @.
data TypeBXXEBBXXXEXE ( x :: ( * -> * ) -> ( ( * -> * -> * ) -> * ) -> * ) = TypeBXXEBBXXXEXE
instance TypeClass (TypeBXXEBBXXXEXE t) where
	type_ = TypeBXXEBBXXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)
instance Typed (TypeBBXXEBBXXXEXEXE TypeBXXEBBXXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXEBBXXXEXE"
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( ( ( * -> * ) -> * ) -> * ) -> * @.
data TypeBXXEBBBXXEXEXE ( x :: ( * -> * ) -> ( ( ( * -> * ) -> * ) -> * ) -> * ) = TypeBXXEBBBXXEXEXE
instance TypeClass (TypeBXXEBBBXXEXEXE t) where
	type_ = TypeBXXEBBBXXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit)
instance Typed (TypeBBXXEBBBXXEXEXEXE TypeBXXEBBBXXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXEBBBXXEXEXE"
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> * -> * -> * -> * @.
data TypeXBXXEXXX ( x :: * -> ( * -> * ) -> * -> * -> * -> * ) = TypeXBXXEXXX
instance TypeClass (TypeXBXXEXXX t) where
	type_ = TypeXBXXEXXX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))
instance Typed (TypeBXBXXEXXXXE TypeXBXXEXXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBXXEXXX"
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> ( * -> * ) -> * -> * @.
data TypeXBXXEBXXEX ( x :: * -> ( * -> * ) -> ( * -> * ) -> * -> * ) = TypeXBXXEBXXEX
instance TypeClass (TypeXBXXEBXXEX t) where
	type_ = TypeXBXXEBXXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))
instance Typed (TypeBXBXXEBXXEXXE TypeXBXXEBXXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBXXEBXXEX"
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> * -> ( * -> * ) -> * @.
data TypeXBXXEXBXXE ( x :: * -> ( * -> * ) -> * -> ( * -> * ) -> * ) = TypeXBXXEXBXXE
instance TypeClass (TypeXBXXEXBXXE t) where
	type_ = TypeXBXXEXBXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))
instance Typed (TypeBXBXXEXBXXEXE TypeXBXXEXBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBXXEXBXXE"
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> ( * -> * -> * ) -> * @.
data TypeXBXXEBXXXE ( x :: * -> ( * -> * ) -> ( * -> * -> * ) -> * ) = TypeXBXXEBXXXE
instance TypeClass (TypeXBXXEBXXXE t) where
	type_ = TypeXBXXEBXXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))
instance Typed (TypeBXBXXEBXXXEXE TypeXBXXEBXXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBXXEBXXXE"
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> ( ( * -> * ) -> * ) -> * @.
data TypeXBXXEBBXXEXE ( x :: * -> ( * -> * ) -> ( ( * -> * ) -> * ) -> * ) = TypeXBXXEBBXXEXE
instance TypeClass (TypeXBXXEBBXXEXE t) where
	type_ = TypeXBXXEBBXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))
instance Typed (TypeBXBXXEBBXXEXEXE TypeXBXXEBBXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBXXEBBXXEXE"
-- | An encapsulation of type with a kind @ * -> * -> ( * -> * ) -> * -> * -> * @.
data TypeXXBXXEXX ( x :: * -> * -> ( * -> * ) -> * -> * -> * ) = TypeXXBXXEXX
instance TypeClass (TypeXXBXXEXX t) where
	type_ = TypeXXBXXEXX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))))
instance Typed (TypeBXXBXXEXXXE TypeXXBXXEXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXXBXXEXX"
-- | An encapsulation of type with a kind @ * -> * -> ( * -> * ) -> ( * -> * ) -> * @.
data TypeXXBXXEBXXE ( x :: * -> * -> ( * -> * ) -> ( * -> * ) -> * ) = TypeXXBXXEBXXE
instance TypeClass (TypeXXBXXEBXXE t) where
	type_ = TypeXXBXXEBXXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))
instance Typed (TypeBXXBXXEBXXEXE TypeXXBXXEBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXXBXXEBXXE"
-- | An encapsulation of type with a kind @ * -> * -> * -> ( * -> * ) -> * -> * @.
data TypeXXXBXXEX ( x :: * -> * -> * -> ( * -> * ) -> * -> * ) = TypeXXXBXXEX
instance TypeClass (TypeXXXBXXEX t) where
	type_ = TypeXXXBXXEX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))))
instance Typed (TypeBXXXBXXEXXE TypeXXXBXXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXXXBXXEX"
-- | An encapsulation of type with a kind @ * -> * -> * -> * -> ( * -> * ) -> * @.
data TypeXXXXBXXE ( x :: * -> * -> * -> * -> ( * -> * ) -> * ) = TypeXXXXBXXE
instance TypeClass (TypeXXXXBXXE t) where
	type_ = TypeXXXXBXXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))))
instance Typed (TypeBXXXXBXXEXE TypeXXXXBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXXXXBXXE"
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> * -> * -> * -> * @.
data TypeBXXXEXXX ( x :: ( * -> * -> * ) -> * -> * -> * -> * ) = TypeBXXXEXXX
instance TypeClass (TypeBXXXEXXX t) where
	type_ = TypeBXXXEXXX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))
instance Typed (TypeBBXXXEXXXXE TypeBXXXEXXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXXEXXX"
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> ( * -> * ) -> * -> * @.
data TypeBXXXEBXXEX ( x :: ( * -> * -> * ) -> ( * -> * ) -> * -> * ) = TypeBXXXEBXXEX
instance TypeClass (TypeBXXXEBXXEX t) where
	type_ = TypeBXXXEBXXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))
instance Typed (TypeBBXXXEBXXEXXE TypeBXXXEBXXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXXEBXXEX"
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> * -> ( * -> * ) -> * @.
data TypeBXXXEXBXXE ( x :: ( * -> * -> * ) -> * -> ( * -> * ) -> * ) = TypeBXXXEXBXXE
instance TypeClass (TypeBXXXEXBXXE t) where
	type_ = TypeBXXXEXBXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))
instance Typed (TypeBBXXXEXBXXEXE TypeBXXXEXBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXXEXBXXE"
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> ( * -> * -> * ) -> * @.
data TypeBXXXEBXXXE ( x :: ( * -> * -> * ) -> ( * -> * -> * ) -> * ) = TypeBXXXEBXXXE
instance TypeClass (TypeBXXXEBXXXE t) where
	type_ = TypeBXXXEBXXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)
instance Typed (TypeBBXXXEBXXXEXE TypeBXXXEBXXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXXEBXXXE"
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> ( ( * -> * ) -> * ) -> * @.
data TypeBXXXEBBXXEXE ( x :: ( * -> * -> * ) -> ( ( * -> * ) -> * ) -> * ) = TypeBXXXEBBXXEXE
instance TypeClass (TypeBXXXEBBXXEXE t) where
	type_ = TypeBXXXEBBXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)
instance Typed (TypeBBXXXEBBXXEXEXE TypeBXXXEBBXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXXEBBXXEXE"
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> * -> * -> * -> * @.
data TypeBBXXEXEXXX ( x :: ( ( * -> * ) -> * ) -> * -> * -> * -> * ) = TypeBBXXEXEXXX
instance TypeClass (TypeBBXXEXEXXX t) where
	type_ = TypeBBXXEXEXXX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))
instance Typed (TypeBBBXXEXEXXXXE TypeBBXXEXEXXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXEXEXXX"
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> ( * -> * ) -> * -> * @.
data TypeBBXXEXEBXXEX ( x :: ( ( * -> * ) -> * ) -> ( * -> * ) -> * -> * ) = TypeBBXXEXEBXXEX
instance TypeClass (TypeBBXXEXEBXXEX t) where
	type_ = TypeBBXXEXEBXXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))
instance Typed (TypeBBBXXEXEBXXEXXE TypeBBXXEXEBXXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXEXEBXXEX"
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> * -> ( * -> * ) -> * @.
data TypeBBXXEXEXBXXE ( x :: ( ( * -> * ) -> * ) -> * -> ( * -> * ) -> * ) = TypeBBXXEXEXBXXE
instance TypeClass (TypeBBXXEXEXBXXE t) where
	type_ = TypeBBXXEXEXBXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))
instance Typed (TypeBBBXXEXEXBXXEXE TypeBBXXEXEXBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXEXEXBXXE"
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> ( * -> * -> * ) -> * @.
data TypeBBXXEXEBXXXE ( x :: ( ( * -> * ) -> * ) -> ( * -> * -> * ) -> * ) = TypeBBXXEXEBXXXE
instance TypeClass (TypeBBXXEXEBXXXE t) where
	type_ = TypeBBXXEXEBXXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)
instance Typed (TypeBBBXXEXEBXXXEXE TypeBBXXEXEBXXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXEXEBXXXE"
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> ( ( * -> * ) -> * ) -> * @.
data TypeBBXXEXEBBXXEXE ( x :: ( ( * -> * ) -> * ) -> ( ( * -> * ) -> * ) -> * ) = TypeBBXXEXEBBXXEXE
instance TypeClass (TypeBBXXEXEBBXXEXE t) where
	type_ = TypeBBXXEXEBBXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)
instance Typed (TypeBBBXXEXEBBXXEXEXE TypeBBXXEXEBBXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXEXEBBXXEXE"
-- | An encapsulation of type with a kind @ * -> ( * -> * -> * ) -> * -> * -> * @.
data TypeXBXXXEXX ( x :: * -> ( * -> * -> * ) -> * -> * -> * ) = TypeXBXXXEXX
instance TypeClass (TypeXBXXXEXX t) where
	type_ = TypeXBXXXEXX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))
instance Typed (TypeBXBXXXEXXXE TypeXBXXXEXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBXXXEXX"
-- | An encapsulation of type with a kind @ * -> ( * -> * -> * ) -> ( * -> * ) -> * @.
data TypeXBXXXEBXXE ( x :: * -> ( * -> * -> * ) -> ( * -> * ) -> * ) = TypeXBXXXEBXXE
instance TypeClass (TypeXBXXXEBXXE t) where
	type_ = TypeXBXXXEBXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))
instance Typed (TypeBXBXXXEBXXEXE TypeXBXXXEBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBXXXEBXXE"
-- | An encapsulation of type with a kind @ * -> ( ( * -> * ) -> * ) -> * -> * -> * @.
data TypeXBBXXEXEXX ( x :: * -> ( ( * -> * ) -> * ) -> * -> * -> * ) = TypeXBBXXEXEXX
instance TypeClass (TypeXBBXXEXEXX t) where
	type_ = TypeXBBXXEXEXX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))
instance Typed (TypeBXBBXXEXEXXXE TypeXBBXXEXEXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBBXXEXEXX"
-- | An encapsulation of type with a kind @ * -> ( ( * -> * ) -> * ) -> ( * -> * ) -> * @.
data TypeXBBXXEXEBXXE ( x :: * -> ( ( * -> * ) -> * ) -> ( * -> * ) -> * ) = TypeXBBXXEXEBXXE
instance TypeClass (TypeXBBXXEXEBXXE t) where
	type_ = TypeXBBXXEXEBXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))
instance Typed (TypeBXBBXXEXEBXXEXE TypeXBBXXEXEBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBBXXEXEBXXE"
-- | An encapsulation of type with a kind @ * -> * -> ( * -> * -> * ) -> * -> * @.
data TypeXXBXXXEX ( x :: * -> * -> ( * -> * -> * ) -> * -> * ) = TypeXXBXXXEX
instance TypeClass (TypeXXBXXXEX t) where
	type_ = TypeXXBXXXEX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)))
instance Typed (TypeBXXBXXXEXXE TypeXXBXXXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXXBXXXEX"
-- | An encapsulation of type with a kind @ * -> * -> ( ( * -> * ) -> * ) -> * -> * @.
data TypeXXBBXXEXEX ( x :: * -> * -> ( ( * -> * ) -> * ) -> * -> * ) = TypeXXBBXXEXEX
instance TypeClass (TypeXXBBXXEXEX t) where
	type_ = TypeXXBBXXEXEX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)))
instance Typed (TypeBXXBBXXEXEXXE TypeXXBBXXEXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXXBBXXEXEX"
-- | An encapsulation of type with a kind @ * -> * -> * -> ( * -> * -> * ) -> * @.
data TypeXXXBXXXE ( x :: * -> * -> * -> ( * -> * -> * ) -> * ) = TypeXXXBXXXE
instance TypeClass (TypeXXXBXXXE t) where
	type_ = TypeXXXBXXXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)))
instance Typed (TypeBXXXBXXXEXE TypeXXXBXXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXXXBXXXE"
-- | An encapsulation of type with a kind @ * -> * -> * -> ( ( * -> * ) -> * ) -> * @.
data TypeXXXBBXXEXE ( x :: * -> * -> * -> ( ( * -> * ) -> * ) -> * ) = TypeXXXBBXXEXE
instance TypeClass (TypeXXXBBXXEXE t) where
	type_ = TypeXXXBBXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)))
instance Typed (TypeBXXXBBXXEXEXE TypeXXXBBXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXXXBBXXEXE"
-- | An encapsulation of type with a kind @ ( * -> * -> * -> * ) -> * -> * -> * @.
data TypeBXXXXEXX ( x :: ( * -> * -> * -> * ) -> * -> * -> * ) = TypeBXXXXEXX
instance TypeClass (TypeBXXXXEXX t) where
	type_ = TypeBXXXXEXX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit (KindArrow KindUnit KindUnit))
instance Typed (TypeBBXXXXEXXXE TypeBXXXXEXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXXXEXX"
-- | An encapsulation of type with a kind @ ( * -> * -> * -> * ) -> ( * -> * ) -> * @.
data TypeBXXXXEBXXE ( x :: ( * -> * -> * -> * ) -> ( * -> * ) -> * ) = TypeBXXXXEBXXE
instance TypeClass (TypeBXXXXEBXXE t) where
	type_ = TypeBXXXXEBXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
instance Typed (TypeBBXXXXEBXXEXE TypeBXXXXEBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXXXEBXXE"
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * -> * ) -> * -> * -> * @.
data TypeBBXXEXXEXX ( x :: ( ( * -> * ) -> * -> * ) -> * -> * -> * ) = TypeBBXXEXXEXX
instance TypeClass (TypeBBXXEXXEXX t) where
	type_ = TypeBBXXEXXEXX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))
instance Typed (TypeBBBXXEXXEXXXE TypeBBXXEXXEXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXEXXEXX"
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * -> * ) -> ( * -> * ) -> * @.
data TypeBBXXEXXEBXXE ( x :: ( ( * -> * ) -> * -> * ) -> ( * -> * ) -> * ) = TypeBBXXEXXEBXXE
instance TypeClass (TypeBBXXEXXEBXXE t) where
	type_ = TypeBBXXEXXEBXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
instance Typed (TypeBBBXXEXXEBXXEXE TypeBBXXEXXEBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXEXXEBXXE"
-- | An encapsulation of type with a kind @ ( * -> ( * -> * ) -> * ) -> * -> * -> * @.
data TypeBXBXXEXEXX ( x :: ( * -> ( * -> * ) -> * ) -> * -> * -> * ) = TypeBXBXXEXEXX
instance TypeClass (TypeBXBXXEXEXX t) where
	type_ = TypeBXBXXEXEXX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))
instance Typed (TypeBBXBXXEXEXXXE TypeBXBXXEXEXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXBXXEXEXX"
-- | An encapsulation of type with a kind @ ( * -> ( * -> * ) -> * ) -> ( * -> * ) -> * @.
data TypeBXBXXEXEBXXE ( x :: ( * -> ( * -> * ) -> * ) -> ( * -> * ) -> * ) = TypeBXBXXEXEBXXE
instance TypeClass (TypeBXBXXEXEBXXE t) where
	type_ = TypeBXBXXEXEBXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
instance Typed (TypeBBXBXXEXEBXXEXE TypeBXBXXEXEBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXBXXEXEBXXE"
-- | An encapsulation of type with a kind @ ( ( * -> * -> * ) -> * ) -> * -> * -> * @.
data TypeBBXXXEXEXX ( x :: ( ( * -> * -> * ) -> * ) -> * -> * -> * ) = TypeBBXXXEXEXX
instance TypeClass (TypeBBXXXEXEXX t) where
	type_ = TypeBBXXXEXEXX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))
instance Typed (TypeBBBXXXEXEXXXE TypeBBXXXEXEXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXXEXEXX"
-- | An encapsulation of type with a kind @ ( ( * -> * -> * ) -> * ) -> ( * -> * ) -> * @.
data TypeBBXXXEXEBXXE ( x :: ( ( * -> * -> * ) -> * ) -> ( * -> * ) -> * ) = TypeBBXXXEXEBXXE
instance TypeClass (TypeBBXXXEXEBXXE t) where
	type_ = TypeBBXXXEXEBXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
instance Typed (TypeBBBXXXEXEBXXEXE TypeBBXXXEXEBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXXEXEBXXE"
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * ) -> * ) -> * -> * -> * @.
data TypeBBBXXEXEXEXX ( x :: ( ( ( * -> * ) -> * ) -> * ) -> * -> * -> * ) = TypeBBBXXEXEXEXX
instance TypeClass (TypeBBBXXEXEXEXX t) where
	type_ = TypeBBBXXEXEXEXX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))
instance Typed (TypeBBBBXXEXEXEXXXE TypeBBBXXEXEXEXX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBXXEXEXEXX"
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * ) -> * ) -> ( * -> * ) -> * @.
data TypeBBBXXEXEXEBXXE ( x :: ( ( ( * -> * ) -> * ) -> * ) -> ( * -> * ) -> * ) = TypeBBBXXEXEXEBXXE
instance TypeClass (TypeBBBXXEXEXEBXXE t) where
	type_ = TypeBBBXXEXEXEBXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
instance Typed (TypeBBBBXXEXEXEBXXEXE TypeBBBXXEXEXEBXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBXXEXEXEBXXE"
-- | An encapsulation of type with a kind @ * -> ( * -> * -> * -> * ) -> * -> * @.
data TypeXBXXXXEX ( x :: * -> ( * -> * -> * -> * ) -> * -> * ) = TypeXBXXXXEX
instance TypeClass (TypeXBXXXXEX t) where
	type_ = TypeXBXXXXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit))
instance Typed (TypeBXBXXXXEXXE TypeXBXXXXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBXXXXEX"
-- | An encapsulation of type with a kind @ * -> ( ( * -> * ) -> * -> * ) -> * -> * @.
data TypeXBBXXEXXEX ( x :: * -> ( ( * -> * ) -> * -> * ) -> * -> * ) = TypeXBBXXEXXEX
instance TypeClass (TypeXBBXXEXXEX t) where
	type_ = TypeXBBXXEXXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))
instance Typed (TypeBXBBXXEXXEXXE TypeXBBXXEXXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBBXXEXXEX"
-- | An encapsulation of type with a kind @ * -> ( * -> ( * -> * ) -> * ) -> * -> * @.
data TypeXBXBXXEXEX ( x :: * -> ( * -> ( * -> * ) -> * ) -> * -> * ) = TypeXBXBXXEXEX
instance TypeClass (TypeXBXBXXEXEX t) where
	type_ = TypeXBXBXXEXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit))
instance Typed (TypeBXBXBXXEXEXXE TypeXBXBXXEXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBXBXXEXEX"
-- | An encapsulation of type with a kind @ * -> ( ( * -> * -> * ) -> * ) -> * -> * @.
data TypeXBBXXXEXEX ( x :: * -> ( ( * -> * -> * ) -> * ) -> * -> * ) = TypeXBBXXXEXEX
instance TypeClass (TypeXBBXXXEXEX t) where
	type_ = TypeXBBXXXEXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit))
instance Typed (TypeBXBBXXXEXEXXE TypeXBBXXXEXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBBXXXEXEX"
-- | An encapsulation of type with a kind @ * -> ( ( ( * -> * ) -> * ) -> * ) -> * -> * @.
data TypeXBBBXXEXEXEX ( x :: * -> ( ( ( * -> * ) -> * ) -> * ) -> * -> * ) = TypeXBBBXXEXEXEX
instance TypeClass (TypeXBBBXXEXEXEX t) where
	type_ = TypeXBBBXXEXEXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit))
instance Typed (TypeBXBBBXXEXEXEXXE TypeXBBBXXEXEXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBBBXXEXEXEX"
-- | An encapsulation of type with a kind @ * -> * -> ( * -> * -> * -> * ) -> * @.
data TypeXXBXXXXE ( x :: * -> * -> ( * -> * -> * -> * ) -> * ) = TypeXXBXXXXE
instance TypeClass (TypeXXBXXXXE t) where
	type_ = TypeXXBXXXXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit))
instance Typed (TypeBXXBXXXXEXE TypeXXBXXXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXXBXXXXE"
-- | An encapsulation of type with a kind @ * -> * -> ( ( * -> * ) -> * -> * ) -> * @.
data TypeXXBBXXEXXE ( x :: * -> * -> ( ( * -> * ) -> * -> * ) -> * ) = TypeXXBBXXEXXE
instance TypeClass (TypeXXBBXXEXXE t) where
	type_ = TypeXXBBXXEXXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit))
instance Typed (TypeBXXBBXXEXXEXE TypeXXBBXXEXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXXBBXXEXXE"
-- | An encapsulation of type with a kind @ * -> * -> ( * -> ( * -> * ) -> * ) -> * @.
data TypeXXBXBXXEXE ( x :: * -> * -> ( * -> ( * -> * ) -> * ) -> * ) = TypeXXBXBXXEXE
instance TypeClass (TypeXXBXBXXEXE t) where
	type_ = TypeXXBXBXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit))
instance Typed (TypeBXXBXBXXEXEXE TypeXXBXBXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXXBXBXXEXE"
-- | An encapsulation of type with a kind @ * -> * -> ( ( * -> * -> * ) -> * ) -> * @.
data TypeXXBBXXXEXE ( x :: * -> * -> ( ( * -> * -> * ) -> * ) -> * ) = TypeXXBBXXXEXE
instance TypeClass (TypeXXBBXXXEXE t) where
	type_ = TypeXXBBXXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit))
instance Typed (TypeBXXBBXXXEXEXE TypeXXBBXXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXXBBXXXEXE"
-- | An encapsulation of type with a kind @ * -> * -> ( ( ( * -> * ) -> * ) -> * ) -> * @.
data TypeXXBBBXXEXEXE ( x :: * -> * -> ( ( ( * -> * ) -> * ) -> * ) -> * ) = TypeXXBBBXXEXEXE
instance TypeClass (TypeXXBBBXXEXEXE t) where
	type_ = TypeXXBBBXXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit))
instance Typed (TypeBXXBBBXXEXEXEXE TypeXXBBBXXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXXBBBXXEXEXE"
-- | An encapsulation of type with a kind @ ( * -> * -> * -> * -> * ) -> * -> * @.
data TypeBXXXXXEX ( x :: ( * -> * -> * -> * -> * ) -> * -> * ) = TypeBXXXXXEX
instance TypeClass (TypeBXXXXXEX t) where
	type_ = TypeBXXXXXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) (KindArrow KindUnit KindUnit)
instance Typed (TypeBBXXXXXEXXE TypeBXXXXXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXXXXEX"
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * -> * -> * ) -> * -> * @.
data TypeBBXXEXXXEX ( x :: ( ( * -> * ) -> * -> * -> * ) -> * -> * ) = TypeBBXXEXXXEX
instance TypeClass (TypeBBXXEXXXEX t) where
	type_ = TypeBBXXEXXXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)
instance Typed (TypeBBBXXEXXXEXXE TypeBBXXEXXXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXEXXXEX"
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> ( * -> * ) -> * ) -> * -> * @.
data TypeBBXXEBXXEXEX ( x :: ( ( * -> * ) -> ( * -> * ) -> * ) -> * -> * ) = TypeBBXXEBXXEXEX
instance TypeClass (TypeBBXXEBXXEXEX t) where
	type_ = TypeBBXXEBXXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)
instance Typed (TypeBBBXXEBXXEXEXXE TypeBBXXEBXXEXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXEBXXEXEX"
-- | An encapsulation of type with a kind @ ( * -> ( * -> * ) -> * -> * ) -> * -> * @.
data TypeBXBXXEXXEX ( x :: ( * -> ( * -> * ) -> * -> * ) -> * -> * ) = TypeBXBXXEXXEX
instance TypeClass (TypeBXBXXEXXEX t) where
	type_ = TypeBXBXXEXXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)
instance Typed (TypeBBXBXXEXXEXXE TypeBXBXXEXXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXBXXEXXEX"
-- | An encapsulation of type with a kind @ ( * -> * -> ( * -> * ) -> * ) -> * -> * @.
data TypeBXXBXXEXEX ( x :: ( * -> * -> ( * -> * ) -> * ) -> * -> * ) = TypeBXXBXXEXEX
instance TypeClass (TypeBXXBXXEXEX t) where
	type_ = TypeBXXBXXEXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) (KindArrow KindUnit KindUnit)
instance Typed (TypeBBXXBXXEXEXXE TypeBXXBXXEXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXBXXEXEX"
-- | An encapsulation of type with a kind @ ( ( * -> * -> * ) -> * -> * ) -> * -> * @.
data TypeBBXXXEXXEX ( x :: ( ( * -> * -> * ) -> * -> * ) -> * -> * ) = TypeBBXXXEXXEX
instance TypeClass (TypeBBXXXEXXEX t) where
	type_ = TypeBBXXXEXXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)
instance Typed (TypeBBBXXXEXXEXXE TypeBBXXXEXXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXXEXXEX"
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * ) -> * -> * ) -> * -> * @.
data TypeBBBXXEXEXXEX ( x :: ( ( ( * -> * ) -> * ) -> * -> * ) -> * -> * ) = TypeBBBXXEXEXXEX
instance TypeClass (TypeBBBXXEXEXXEX t) where
	type_ = TypeBBBXXEXEXXEX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)
instance Typed (TypeBBBBXXEXEXXEXXE TypeBBBXXEXEXXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBXXEXEXXEX"
-- | An encapsulation of type with a kind @ ( * -> ( * -> * -> * ) -> * ) -> * -> * @.
data TypeBXBXXXEXEX ( x :: ( * -> ( * -> * -> * ) -> * ) -> * -> * ) = TypeBXBXXXEXEX
instance TypeClass (TypeBXBXXXEXEX t) where
	type_ = TypeBXBXXXEXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) (KindArrow KindUnit KindUnit)
instance Typed (TypeBBXBXXXEXEXXE TypeBXBXXXEXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXBXXXEXEX"
-- | An encapsulation of type with a kind @ ( * -> ( ( * -> * ) -> * ) -> * ) -> * -> * @.
data TypeBXBBXXEXEXEX ( x :: ( * -> ( ( * -> * ) -> * ) -> * ) -> * -> * ) = TypeBXBBXXEXEXEX
instance TypeClass (TypeBXBBXXEXEXEX t) where
	type_ = TypeBXBBXXEXEXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)
instance Typed (TypeBBXBBXXEXEXEXXE TypeBXBBXXEXEXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXBBXXEXEXEX"
-- | An encapsulation of type with a kind @ ( ( * -> * -> * -> * ) -> * ) -> * -> * @.
data TypeBBXXXXEXEX ( x :: ( ( * -> * -> * -> * ) -> * ) -> * -> * ) = TypeBBXXXXEXEX
instance TypeClass (TypeBBXXXXEXEX t) where
	type_ = TypeBBXXXXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) (KindArrow KindUnit KindUnit)
instance Typed (TypeBBBXXXXEXEXXE TypeBBXXXXEXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXXXEXEX"
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * -> * ) -> * ) -> * -> * @.
data TypeBBBXXEXXEXEX ( x :: ( ( ( * -> * ) -> * -> * ) -> * ) -> * -> * ) = TypeBBBXXEXXEXEX
instance TypeClass (TypeBBBXXEXXEXEX t) where
	type_ = TypeBBBXXEXXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)
instance Typed (TypeBBBBXXEXXEXEXXE TypeBBBXXEXXEXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBXXEXXEXEX"
-- | An encapsulation of type with a kind @ ( ( * -> ( * -> * ) -> * ) -> * ) -> * -> * @.
data TypeBBXBXXEXEXEX ( x :: ( ( * -> ( * -> * ) -> * ) -> * ) -> * -> * ) = TypeBBXBXXEXEXEX
instance TypeClass (TypeBBXBXXEXEXEX t) where
	type_ = TypeBBXBXXEXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)
instance Typed (TypeBBBXBXXEXEXEXXE TypeBBXBXXEXEXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXBXXEXEXEX"
-- | An encapsulation of type with a kind @ ( ( ( * -> * -> * ) -> * ) -> * ) -> * -> * @.
data TypeBBBXXXEXEXEX ( x :: ( ( ( * -> * -> * ) -> * ) -> * ) -> * -> * ) = TypeBBBXXXEXEXEX
instance TypeClass (TypeBBBXXXEXEXEX t) where
	type_ = TypeBBBXXXEXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)
instance Typed (TypeBBBBXXXEXEXEXXE TypeBBBXXXEXEXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBXXXEXEXEX"
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * -> * @.
data TypeBBBBXXEXEXEXEX ( x :: ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * -> * ) = TypeBBBBXXEXEXEXEX
instance TypeClass (TypeBBBBXXEXEXEXEX t) where
	type_ = TypeBBBBXXEXEXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)
instance Typed (TypeBBBBBXXEXEXEXEXXE TypeBBBBXXEXEXEXEX) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBBXXEXEXEXEX"
-- | An encapsulation of type with a kind @ * -> ( * -> * -> * -> * -> * ) -> * @.
data TypeXBXXXXXE ( x :: * -> ( * -> * -> * -> * -> * ) -> * ) = TypeXBXXXXXE
instance TypeClass (TypeXBXXXXXE t) where
	type_ = TypeXBXXXXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit)
instance Typed (TypeBXBXXXXXEXE TypeXBXXXXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBXXXXXE"
-- | An encapsulation of type with a kind @ * -> ( ( * -> * ) -> * -> * -> * ) -> * @.
data TypeXBBXXEXXXE ( x :: * -> ( ( * -> * ) -> * -> * -> * ) -> * ) = TypeXBBXXEXXXE
instance TypeClass (TypeXBBXXEXXXE t) where
	type_ = TypeXBBXXEXXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)
instance Typed (TypeBXBBXXEXXXEXE TypeXBBXXEXXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBBXXEXXXE"
-- | An encapsulation of type with a kind @ * -> ( ( * -> * ) -> ( * -> * ) -> * ) -> * @.
data TypeXBBXXEBXXEXE ( x :: * -> ( ( * -> * ) -> ( * -> * ) -> * ) -> * ) = TypeXBBXXEBXXEXE
instance TypeClass (TypeXBBXXEBXXEXE t) where
	type_ = TypeXBBXXEBXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)
instance Typed (TypeBXBBXXEBXXEXEXE TypeXBBXXEBXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBBXXEBXXEXE"
-- | An encapsulation of type with a kind @ * -> ( * -> ( * -> * ) -> * -> * ) -> * @.
data TypeXBXBXXEXXE ( x :: * -> ( * -> ( * -> * ) -> * -> * ) -> * ) = TypeXBXBXXEXXE
instance TypeClass (TypeXBXBXXEXXE t) where
	type_ = TypeXBXBXXEXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit)
instance Typed (TypeBXBXBXXEXXEXE TypeXBXBXXEXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBXBXXEXXE"
-- | An encapsulation of type with a kind @ * -> ( * -> * -> ( * -> * ) -> * ) -> * @.
data TypeXBXXBXXEXE ( x :: * -> ( * -> * -> ( * -> * ) -> * ) -> * ) = TypeXBXXBXXEXE
instance TypeClass (TypeXBXXBXXEXE t) where
	type_ = TypeXBXXBXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit)
instance Typed (TypeBXBXXBXXEXEXE TypeXBXXBXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBXXBXXEXE"
-- | An encapsulation of type with a kind @ * -> ( ( * -> * -> * ) -> * -> * ) -> * @.
data TypeXBBXXXEXXE ( x :: * -> ( ( * -> * -> * ) -> * -> * ) -> * ) = TypeXBBXXXEXXE
instance TypeClass (TypeXBBXXXEXXE t) where
	type_ = TypeXBBXXXEXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit)
instance Typed (TypeBXBBXXXEXXEXE TypeXBBXXXEXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBBXXXEXXE"
-- | An encapsulation of type with a kind @ * -> ( ( ( * -> * ) -> * ) -> * -> * ) -> * @.
data TypeXBBBXXEXEXXE ( x :: * -> ( ( ( * -> * ) -> * ) -> * -> * ) -> * ) = TypeXBBBXXEXEXXE
instance TypeClass (TypeXBBBXXEXEXXE t) where
	type_ = TypeXBBBXXEXEXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)
instance Typed (TypeBXBBBXXEXEXXEXE TypeXBBBXXEXEXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBBBXXEXEXXE"
-- | An encapsulation of type with a kind @ * -> ( * -> ( * -> * -> * ) -> * ) -> * @.
data TypeXBXBXXXEXE ( x :: * -> ( * -> ( * -> * -> * ) -> * ) -> * ) = TypeXBXBXXXEXE
instance TypeClass (TypeXBXBXXXEXE t) where
	type_ = TypeXBXBXXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit)
instance Typed (TypeBXBXBXXXEXEXE TypeXBXBXXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBXBXXXEXE"
-- | An encapsulation of type with a kind @ * -> ( * -> ( ( * -> * ) -> * ) -> * ) -> * @.
data TypeXBXBBXXEXEXE ( x :: * -> ( * -> ( ( * -> * ) -> * ) -> * ) -> * ) = TypeXBXBBXXEXEXE
instance TypeClass (TypeXBXBBXXEXEXE t) where
	type_ = TypeXBXBBXXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit)
instance Typed (TypeBXBXBBXXEXEXEXE TypeXBXBBXXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBXBBXXEXEXE"
-- | An encapsulation of type with a kind @ * -> ( ( * -> * -> * -> * ) -> * ) -> * @.
data TypeXBBXXXXEXE ( x :: * -> ( ( * -> * -> * -> * ) -> * ) -> * ) = TypeXBBXXXXEXE
instance TypeClass (TypeXBBXXXXEXE t) where
	type_ = TypeXBBXXXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit)
instance Typed (TypeBXBBXXXXEXEXE TypeXBBXXXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBBXXXXEXE"
-- | An encapsulation of type with a kind @ * -> ( ( ( * -> * ) -> * -> * ) -> * ) -> * @.
data TypeXBBBXXEXXEXE ( x :: * -> ( ( ( * -> * ) -> * -> * ) -> * ) -> * ) = TypeXBBBXXEXXEXE
instance TypeClass (TypeXBBBXXEXXEXE t) where
	type_ = TypeXBBBXXEXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)
instance Typed (TypeBXBBBXXEXXEXEXE TypeXBBBXXEXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBBBXXEXXEXE"
-- | An encapsulation of type with a kind @ * -> ( ( * -> ( * -> * ) -> * ) -> * ) -> * @.
data TypeXBBXBXXEXEXE ( x :: * -> ( ( * -> ( * -> * ) -> * ) -> * ) -> * ) = TypeXBBXBXXEXEXE
instance TypeClass (TypeXBBXBXXEXEXE t) where
	type_ = TypeXBBXBXXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit)
instance Typed (TypeBXBBXBXXEXEXEXE TypeXBBXBXXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBBXBXXEXEXE"
-- | An encapsulation of type with a kind @ * -> ( ( ( * -> * -> * ) -> * ) -> * ) -> * @.
data TypeXBBBXXXEXEXE ( x :: * -> ( ( ( * -> * -> * ) -> * ) -> * ) -> * ) = TypeXBBBXXXEXEXE
instance TypeClass (TypeXBBBXXXEXEXE t) where
	type_ = TypeXBBBXXXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit)
instance Typed (TypeBXBBBXXXEXEXEXE TypeXBBBXXXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBBBXXXEXEXE"
-- | An encapsulation of type with a kind @ * -> ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeXBBBBXXEXEXEXE ( x :: * -> ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeXBBBBXXEXEXEXE
instance TypeClass (TypeXBBBBXXEXEXEXE t) where
	type_ = TypeXBBBBXXEXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) KindUnit)
instance Typed (TypeBXBBBBXXEXEXEXEXE TypeXBBBBXXEXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeXBBBBXXEXEXEXE"
-- | An encapsulation of type with a kind @ ( * -> * -> * -> * -> * -> * ) -> * @.
data TypeBXXXXXXE ( x :: ( * -> * -> * -> * -> * -> * ) -> * ) = TypeBXXXXXXE
instance TypeClass (TypeBXXXXXXE t) where
	type_ = TypeBXXXXXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) KindUnit
instance Typed (TypeBBXXXXXXEXE TypeBXXXXXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXXXXXE"
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * -> * -> * -> * ) -> * @.
data TypeBBXXEXXXXE ( x :: ( ( * -> * ) -> * -> * -> * -> * ) -> * ) = TypeBBXXEXXXXE
instance TypeClass (TypeBBXXEXXXXE t) where
	type_ = TypeBBXXEXXXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit
instance Typed (TypeBBBXXEXXXXEXE TypeBBXXEXXXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXEXXXXE"
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> ( * -> * ) -> * -> * ) -> * @.
data TypeBBXXEBXXEXXE ( x :: ( ( * -> * ) -> ( * -> * ) -> * -> * ) -> * ) = TypeBBXXEBXXEXXE
instance TypeClass (TypeBBXXEBXXEXXE t) where
	type_ = TypeBBXXEBXXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit
instance Typed (TypeBBBXXEBXXEXXEXE TypeBBXXEBXXEXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXEBXXEXXE"
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * -> ( * -> * ) -> * ) -> * @.
data TypeBBXXEXBXXEXE ( x :: ( ( * -> * ) -> * -> ( * -> * ) -> * ) -> * ) = TypeBBXXEXBXXEXE
instance TypeClass (TypeBBXXEXBXXEXE t) where
	type_ = TypeBBXXEXBXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit
instance Typed (TypeBBBXXEXBXXEXEXE TypeBBXXEXBXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXEXBXXEXE"
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> ( * -> * -> * ) -> * ) -> * @.
data TypeBBXXEBXXXEXE ( x :: ( ( * -> * ) -> ( * -> * -> * ) -> * ) -> * ) = TypeBBXXEBXXXEXE
instance TypeClass (TypeBBXXEBXXXEXE t) where
	type_ = TypeBBXXEBXXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit
instance Typed (TypeBBBXXEBXXXEXEXE TypeBBXXEBXXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXEBXXXEXE"
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> ( ( * -> * ) -> * ) -> * ) -> * @.
data TypeBBXXEBBXXEXEXE ( x :: ( ( * -> * ) -> ( ( * -> * ) -> * ) -> * ) -> * ) = TypeBBXXEBBXXEXEXE
instance TypeClass (TypeBBXXEBBXXEXEXE t) where
	type_ = TypeBBXXEBBXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit
instance Typed (TypeBBBXXEBBXXEXEXEXE TypeBBXXEBBXXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXEBBXXEXEXE"
-- | An encapsulation of type with a kind @ ( * -> ( * -> * ) -> * -> * -> * ) -> * @.
data TypeBXBXXEXXXE ( x :: ( * -> ( * -> * ) -> * -> * -> * ) -> * ) = TypeBXBXXEXXXE
instance TypeClass (TypeBXBXXEXXXE t) where
	type_ = TypeBXBXXEXXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit
instance Typed (TypeBBXBXXEXXXEXE TypeBXBXXEXXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXBXXEXXXE"
-- | An encapsulation of type with a kind @ ( * -> ( * -> * ) -> ( * -> * ) -> * ) -> * @.
data TypeBXBXXEBXXEXE ( x :: ( * -> ( * -> * ) -> ( * -> * ) -> * ) -> * ) = TypeBXBXXEBXXEXE
instance TypeClass (TypeBXBXXEBXXEXE t) where
	type_ = TypeBXBXXEBXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit
instance Typed (TypeBBXBXXEBXXEXEXE TypeBXBXXEBXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXBXXEBXXEXE"
-- | An encapsulation of type with a kind @ ( * -> * -> ( * -> * ) -> * -> * ) -> * @.
data TypeBXXBXXEXXE ( x :: ( * -> * -> ( * -> * ) -> * -> * ) -> * ) = TypeBXXBXXEXXE
instance TypeClass (TypeBXXBXXEXXE t) where
	type_ = TypeBXXBXXEXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))) KindUnit
instance Typed (TypeBBXXBXXEXXEXE TypeBXXBXXEXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXBXXEXXE"
-- | An encapsulation of type with a kind @ ( * -> * -> * -> ( * -> * ) -> * ) -> * @.
data TypeBXXXBXXEXE ( x :: ( * -> * -> * -> ( * -> * ) -> * ) -> * ) = TypeBXXXBXXEXE
instance TypeClass (TypeBXXXBXXEXE t) where
	type_ = TypeBXXXBXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) KindUnit
instance Typed (TypeBBXXXBXXEXEXE TypeBXXXBXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXXBXXEXE"
-- | An encapsulation of type with a kind @ ( ( * -> * -> * ) -> * -> * -> * ) -> * @.
data TypeBBXXXEXXXE ( x :: ( ( * -> * -> * ) -> * -> * -> * ) -> * ) = TypeBBXXXEXXXE
instance TypeClass (TypeBBXXXEXXXE t) where
	type_ = TypeBBXXXEXXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit
instance Typed (TypeBBBXXXEXXXEXE TypeBBXXXEXXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXXEXXXE"
-- | An encapsulation of type with a kind @ ( ( * -> * -> * ) -> ( * -> * ) -> * ) -> * @.
data TypeBBXXXEBXXEXE ( x :: ( ( * -> * -> * ) -> ( * -> * ) -> * ) -> * ) = TypeBBXXXEBXXEXE
instance TypeClass (TypeBBXXXEBXXEXE t) where
	type_ = TypeBBXXXEBXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit
instance Typed (TypeBBBXXXEBXXEXEXE TypeBBXXXEBXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXXEBXXEXE"
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * ) -> * -> * -> * ) -> * @.
data TypeBBBXXEXEXXXE ( x :: ( ( ( * -> * ) -> * ) -> * -> * -> * ) -> * ) = TypeBBBXXEXEXXXE
instance TypeClass (TypeBBBXXEXEXXXE t) where
	type_ = TypeBBBXXEXEXXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit
instance Typed (TypeBBBBXXEXEXXXEXE TypeBBBXXEXEXXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBXXEXEXXXE"
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * ) -> ( * -> * ) -> * ) -> * @.
data TypeBBBXXEXEBXXEXE ( x :: ( ( ( * -> * ) -> * ) -> ( * -> * ) -> * ) -> * ) = TypeBBBXXEXEBXXEXE
instance TypeClass (TypeBBBXXEXEBXXEXE t) where
	type_ = TypeBBBXXEXEBXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit
instance Typed (TypeBBBBXXEXEBXXEXEXE TypeBBBXXEXEBXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBXXEXEBXXEXE"
-- | An encapsulation of type with a kind @ ( * -> ( * -> * -> * ) -> * -> * ) -> * @.
data TypeBXBXXXEXXE ( x :: ( * -> ( * -> * -> * ) -> * -> * ) -> * ) = TypeBXBXXXEXXE
instance TypeClass (TypeBXBXXXEXXE t) where
	type_ = TypeBXBXXXEXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))) KindUnit
instance Typed (TypeBBXBXXXEXXEXE TypeBXBXXXEXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXBXXXEXXE"
-- | An encapsulation of type with a kind @ ( * -> ( ( * -> * ) -> * ) -> * -> * ) -> * @.
data TypeBXBBXXEXEXXE ( x :: ( * -> ( ( * -> * ) -> * ) -> * -> * ) -> * ) = TypeBXBBXXEXEXXE
instance TypeClass (TypeBXBBXXEXEXXE t) where
	type_ = TypeBXBBXXEXEXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit))) KindUnit
instance Typed (TypeBBXBBXXEXEXXEXE TypeBXBBXXEXEXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXBBXXEXEXXE"
-- | An encapsulation of type with a kind @ ( * -> * -> ( * -> * -> * ) -> * ) -> * @.
data TypeBXXBXXXEXE ( x :: ( * -> * -> ( * -> * -> * ) -> * ) -> * ) = TypeBXXBXXXEXE
instance TypeClass (TypeBXXBXXXEXE t) where
	type_ = TypeBXXBXXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))) KindUnit
instance Typed (TypeBBXXBXXXEXEXE TypeBXXBXXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXBXXXEXE"
-- | An encapsulation of type with a kind @ ( * -> * -> ( ( * -> * ) -> * ) -> * ) -> * @.
data TypeBXXBBXXEXEXE ( x :: ( * -> * -> ( ( * -> * ) -> * ) -> * ) -> * ) = TypeBXXBBXXEXEXE
instance TypeClass (TypeBXXBBXXEXEXE t) where
	type_ = TypeBXXBBXXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))) KindUnit
instance Typed (TypeBBXXBBXXEXEXEXE TypeBXXBBXXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXXBBXXEXEXE"
-- | An encapsulation of type with a kind @ ( ( * -> * -> * -> * ) -> * -> * ) -> * @.
data TypeBBXXXXEXXE ( x :: ( ( * -> * -> * -> * ) -> * -> * ) -> * ) = TypeBBXXXXEXXE
instance TypeClass (TypeBBXXXXEXXE t) where
	type_ = TypeBBXXXXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)) KindUnit
instance Typed (TypeBBBXXXXEXXEXE TypeBBXXXXEXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXXXEXXE"
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * -> * ) -> * -> * ) -> * @.
data TypeBBBXXEXXEXXE ( x :: ( ( ( * -> * ) -> * -> * ) -> * -> * ) -> * ) = TypeBBBXXEXXEXXE
instance TypeClass (TypeBBBXXEXXEXXE t) where
	type_ = TypeBBBXXEXXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit
instance Typed (TypeBBBBXXEXXEXXEXE TypeBBBXXEXXEXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBXXEXXEXXE"
-- | An encapsulation of type with a kind @ ( ( * -> ( * -> * ) -> * ) -> * -> * ) -> * @.
data TypeBBXBXXEXEXXE ( x :: ( ( * -> ( * -> * ) -> * ) -> * -> * ) -> * ) = TypeBBXBXXEXEXXE
instance TypeClass (TypeBBXBXXEXEXXE t) where
	type_ = TypeBBXBXXEXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit
instance Typed (TypeBBBXBXXEXEXXEXE TypeBBXBXXEXEXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXBXXEXEXXE"
-- | An encapsulation of type with a kind @ ( ( ( * -> * -> * ) -> * ) -> * -> * ) -> * @.
data TypeBBBXXXEXEXXE ( x :: ( ( ( * -> * -> * ) -> * ) -> * -> * ) -> * ) = TypeBBBXXXEXEXXE
instance TypeClass (TypeBBBXXXEXEXXE t) where
	type_ = TypeBBBXXXEXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit
instance Typed (TypeBBBBXXXEXEXXEXE TypeBBBXXXEXEXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBXXXEXEXXE"
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * ) -> * ) -> * ) -> * -> * ) -> * @.
data TypeBBBBXXEXEXEXXE ( x :: ( ( ( ( * -> * ) -> * ) -> * ) -> * -> * ) -> * ) = TypeBBBBXXEXEXEXXE
instance TypeClass (TypeBBBBXXEXEXEXXE t) where
	type_ = TypeBBBBXXEXEXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit
instance Typed (TypeBBBBBXXEXEXEXXEXE TypeBBBBXXEXEXEXXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBBXXEXEXEXXE"
-- | An encapsulation of type with a kind @ ( * -> ( * -> * -> * -> * ) -> * ) -> * @.
data TypeBXBXXXXEXE ( x :: ( * -> ( * -> * -> * -> * ) -> * ) -> * ) = TypeBXBXXXXEXE
instance TypeClass (TypeBXBXXXXEXE t) where
	type_ = TypeBXBXXXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)) KindUnit
instance Typed (TypeBBXBXXXXEXEXE TypeBXBXXXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXBXXXXEXE"
-- | An encapsulation of type with a kind @ ( * -> ( ( * -> * ) -> * -> * ) -> * ) -> * @.
data TypeBXBBXXEXXEXE ( x :: ( * -> ( ( * -> * ) -> * -> * ) -> * ) -> * ) = TypeBXBBXXEXXEXE
instance TypeClass (TypeBXBBXXEXXEXE t) where
	type_ = TypeBXBBXXEXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit
instance Typed (TypeBBXBBXXEXXEXEXE TypeBXBBXXEXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXBBXXEXXEXE"
-- | An encapsulation of type with a kind @ ( * -> ( * -> ( * -> * ) -> * ) -> * ) -> * @.
data TypeBXBXBXXEXEXE ( x :: ( * -> ( * -> ( * -> * ) -> * ) -> * ) -> * ) = TypeBXBXBXXEXEXE
instance TypeClass (TypeBXBXBXXEXEXE t) where
	type_ = TypeBXBXBXXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)) KindUnit
instance Typed (TypeBBXBXBXXEXEXEXE TypeBXBXBXXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXBXBXXEXEXE"
-- | An encapsulation of type with a kind @ ( * -> ( ( * -> * -> * ) -> * ) -> * ) -> * @.
data TypeBXBBXXXEXEXE ( x :: ( * -> ( ( * -> * -> * ) -> * ) -> * ) -> * ) = TypeBXBBXXXEXEXE
instance TypeClass (TypeBXBBXXXEXEXE t) where
	type_ = TypeBXBBXXXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)) KindUnit
instance Typed (TypeBBXBBXXXEXEXEXE TypeBXBBXXXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXBBXXXEXEXE"
-- | An encapsulation of type with a kind @ ( * -> ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBXBBBXXEXEXEXE ( x :: ( * -> ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBXBBBXXEXEXEXE
instance TypeClass (TypeBXBBBXXEXEXEXE t) where
	type_ = TypeBXBBBXXEXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit)) KindUnit
instance Typed (TypeBBXBBBXXEXEXEXEXE TypeBXBBBXXEXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBXBBBXXEXEXEXE"
-- | An encapsulation of type with a kind @ ( ( * -> * -> * -> * -> * ) -> * ) -> * @.
data TypeBBXXXXXEXE ( x :: ( ( * -> * -> * -> * -> * ) -> * ) -> * ) = TypeBBXXXXXEXE
instance TypeClass (TypeBBXXXXXEXE t) where
	type_ = TypeBBXXXXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit) KindUnit
instance Typed (TypeBBBXXXXXEXEXE TypeBBXXXXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXXXXEXE"
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * -> * -> * ) -> * ) -> * @.
data TypeBBBXXEXXXEXE ( x :: ( ( ( * -> * ) -> * -> * -> * ) -> * ) -> * ) = TypeBBBXXEXXXEXE
instance TypeClass (TypeBBBXXEXXXEXE t) where
	type_ = TypeBBBXXEXXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit
instance Typed (TypeBBBBXXEXXXEXEXE TypeBBBXXEXXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBXXEXXXEXE"
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> ( * -> * ) -> * ) -> * ) -> * @.
data TypeBBBXXEBXXEXEXE ( x :: ( ( ( * -> * ) -> ( * -> * ) -> * ) -> * ) -> * ) = TypeBBBXXEBXXEXEXE
instance TypeClass (TypeBBBXXEBXXEXEXE t) where
	type_ = TypeBBBXXEBXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit
instance Typed (TypeBBBBXXEBXXEXEXEXE TypeBBBXXEBXXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBXXEBXXEXEXE"
-- | An encapsulation of type with a kind @ ( ( * -> ( * -> * ) -> * -> * ) -> * ) -> * @.
data TypeBBXBXXEXXEXE ( x :: ( ( * -> ( * -> * ) -> * -> * ) -> * ) -> * ) = TypeBBXBXXEXXEXE
instance TypeClass (TypeBBXBXXEXXEXE t) where
	type_ = TypeBBXBXXEXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit) KindUnit
instance Typed (TypeBBBXBXXEXXEXEXE TypeBBXBXXEXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXBXXEXXEXE"
-- | An encapsulation of type with a kind @ ( ( * -> * -> ( * -> * ) -> * ) -> * ) -> * @.
data TypeBBXXBXXEXEXE ( x :: ( ( * -> * -> ( * -> * ) -> * ) -> * ) -> * ) = TypeBBXXBXXEXEXE
instance TypeClass (TypeBBXXBXXEXEXE t) where
	type_ = TypeBBXXBXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit) KindUnit
instance Typed (TypeBBBXXBXXEXEXEXE TypeBBXXBXXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXXBXXEXEXE"
-- | An encapsulation of type with a kind @ ( ( ( * -> * -> * ) -> * -> * ) -> * ) -> * @.
data TypeBBBXXXEXXEXE ( x :: ( ( ( * -> * -> * ) -> * -> * ) -> * ) -> * ) = TypeBBBXXXEXXEXE
instance TypeClass (TypeBBBXXXEXXEXE t) where
	type_ = TypeBBBXXXEXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit
instance Typed (TypeBBBBXXXEXXEXEXE TypeBBBXXXEXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBXXXEXXEXE"
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * ) -> * ) -> * -> * ) -> * ) -> * @.
data TypeBBBBXXEXEXXEXE ( x :: ( ( ( ( * -> * ) -> * ) -> * -> * ) -> * ) -> * ) = TypeBBBBXXEXEXXEXE
instance TypeClass (TypeBBBBXXEXEXXEXE t) where
	type_ = TypeBBBBXXEXEXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit
instance Typed (TypeBBBBBXXEXEXXEXEXE TypeBBBBXXEXEXXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBBXXEXEXXEXE"
-- | An encapsulation of type with a kind @ ( ( * -> ( * -> * -> * ) -> * ) -> * ) -> * @.
data TypeBBXBXXXEXEXE ( x :: ( ( * -> ( * -> * -> * ) -> * ) -> * ) -> * ) = TypeBBXBXXXEXEXE
instance TypeClass (TypeBBXBXXXEXEXE t) where
	type_ = TypeBBXBXXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit) KindUnit
instance Typed (TypeBBBXBXXXEXEXEXE TypeBBXBXXXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXBXXXEXEXE"
-- | An encapsulation of type with a kind @ ( ( * -> ( ( * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBBXBBXXEXEXEXE ( x :: ( ( * -> ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBBXBBXXEXEXEXE
instance TypeClass (TypeBBXBBXXEXEXEXE t) where
	type_ = TypeBBXBBXXEXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit) KindUnit
instance Typed (TypeBBBXBBXXEXEXEXEXE TypeBBXBBXXEXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBXBBXXEXEXEXE"
-- | An encapsulation of type with a kind @ ( ( ( * -> * -> * -> * ) -> * ) -> * ) -> * @.
data TypeBBBXXXXEXEXE ( x :: ( ( ( * -> * -> * -> * ) -> * ) -> * ) -> * ) = TypeBBBXXXXEXEXE
instance TypeClass (TypeBBBXXXXEXEXE t) where
	type_ = TypeBBBXXXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit) KindUnit
instance Typed (TypeBBBBXXXXEXEXEXE TypeBBBXXXXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBXXXXEXEXE"
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * ) -> * -> * ) -> * ) -> * ) -> * @.
data TypeBBBBXXEXXEXEXE ( x :: ( ( ( ( * -> * ) -> * -> * ) -> * ) -> * ) -> * ) = TypeBBBBXXEXXEXEXE
instance TypeClass (TypeBBBBXXEXXEXEXE t) where
	type_ = TypeBBBBXXEXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit
instance Typed (TypeBBBBBXXEXXEXEXEXE TypeBBBBXXEXXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBBXXEXXEXEXE"
-- | An encapsulation of type with a kind @ ( ( ( * -> ( * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBBBXBXXEXEXEXE ( x :: ( ( ( * -> ( * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBBBXBXXEXEXEXE
instance TypeClass (TypeBBBXBXXEXEXEXE t) where
	type_ = TypeBBBXBXXEXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit) KindUnit
instance Typed (TypeBBBBXBXXEXEXEXEXE TypeBBBXBXXEXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBXBXXEXEXEXE"
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBBBBXXXEXEXEXE ( x :: ( ( ( ( * -> * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBBBBXXXEXEXEXE
instance TypeClass (TypeBBBBXXXEXEXEXE t) where
	type_ = TypeBBBBXXXEXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit) KindUnit
instance Typed (TypeBBBBBXXXEXEXEXEXE TypeBBBBXXXEXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBBXXXEXEXEXE"
-- | An encapsulation of type with a kind @ ( ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBBBBBXXEXEXEXEXE ( x :: ( ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBBBBBXXEXEXEXEXE
instance TypeClass (TypeBBBBBXXEXEXEXEXE t) where
	type_ = TypeBBBBBXXEXEXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) KindUnit) KindUnit
instance Typed (TypeBBBBBBXXEXEXEXEXEXE TypeBBBBBXXEXEXEXEXE) where
	typeID _ = makeTypeID "type" "Data.Type.Generated.TypeBBBBBXXEXEXEXEXE"
-- | An encapsulation of type with a kind @ * -> * -> * -> * -> * -> * -> * -> * @.
data TypeXXXXXXX ( x :: * -> * -> * -> * -> * -> * -> * -> * ) = TypeXXXXXXX
instance TypeClass (TypeXXXXXXX t) where
	type_ = TypeXXXXXXX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))))
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> * -> * -> * -> * -> * @.
data TypeBXXEXXXXX ( x :: ( * -> * ) -> * -> * -> * -> * -> * -> * ) = TypeBXXEXXXXX
instance TypeClass (TypeBXXEXXXXX t) where
	type_ = TypeBXXEXXXXX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))))
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( * -> * ) -> * -> * -> * -> * @.
data TypeBXXEBXXEXXX ( x :: ( * -> * ) -> ( * -> * ) -> * -> * -> * -> * ) = TypeBXXEBXXEXXX
instance TypeClass (TypeBXXEBXXEXXX t) where
	type_ = TypeBXXEBXXEXXX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( * -> * ) -> ( * -> * ) -> * -> * @.
data TypeBXXEBXXEBXXEX ( x :: ( * -> * ) -> ( * -> * ) -> ( * -> * ) -> * -> * ) = TypeBXXEBXXEBXXEX
instance TypeClass (TypeBXXEBXXEBXXEX t) where
	type_ = TypeBXXEBXXEBXXEX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( * -> * ) -> * -> ( * -> * ) -> * @.
data TypeBXXEBXXEXBXXE ( x :: ( * -> * ) -> ( * -> * ) -> * -> ( * -> * ) -> * ) = TypeBXXEBXXEXBXXE
instance TypeClass (TypeBXXEBXXEXBXXE t) where
	type_ = TypeBXXEBXXEXBXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( * -> * ) -> ( * -> * -> * ) -> * @.
data TypeBXXEBXXEBXXXE ( x :: ( * -> * ) -> ( * -> * ) -> ( * -> * -> * ) -> * ) = TypeBXXEBXXEBXXXE
instance TypeClass (TypeBXXEBXXEBXXXE t) where
	type_ = TypeBXXEBXXEBXXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( * -> * ) -> ( ( * -> * ) -> * ) -> * @.
data TypeBXXEBXXEBBXXEXE ( x :: ( * -> * ) -> ( * -> * ) -> ( ( * -> * ) -> * ) -> * ) = TypeBXXEBXXEBBXXEXE
instance TypeClass (TypeBXXEBXXEBBXXEXE t) where
	type_ = TypeBXXEBXXEBBXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> ( * -> * ) -> * -> * -> * @.
data TypeBXXEXBXXEXX ( x :: ( * -> * ) -> * -> ( * -> * ) -> * -> * -> * ) = TypeBXXEXBXXEXX
instance TypeClass (TypeBXXEXBXXEXX t) where
	type_ = TypeBXXEXBXXEXX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))))
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> ( * -> * ) -> ( * -> * ) -> * @.
data TypeBXXEXBXXEBXXE ( x :: ( * -> * ) -> * -> ( * -> * ) -> ( * -> * ) -> * ) = TypeBXXEXBXXEBXXE
instance TypeClass (TypeBXXEXBXXEBXXE t) where
	type_ = TypeBXXEXBXXEBXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> * -> ( * -> * ) -> * -> * @.
data TypeBXXEXXBXXEX ( x :: ( * -> * ) -> * -> * -> ( * -> * ) -> * -> * ) = TypeBXXEXXBXXEX
instance TypeClass (TypeBXXEXXBXXEX t) where
	type_ = TypeBXXEXXBXXEX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))))
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> * -> * -> ( * -> * ) -> * @.
data TypeBXXEXXXBXXE ( x :: ( * -> * ) -> * -> * -> * -> ( * -> * ) -> * ) = TypeBXXEXXXBXXE
instance TypeClass (TypeBXXEXXXBXXE t) where
	type_ = TypeBXXEXXXBXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))))
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( * -> * -> * ) -> * -> * -> * @.
data TypeBXXEBXXXEXX ( x :: ( * -> * ) -> ( * -> * -> * ) -> * -> * -> * ) = TypeBXXEBXXXEXX
instance TypeClass (TypeBXXEBXXXEXX t) where
	type_ = TypeBXXEBXXXEXX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( * -> * -> * ) -> ( * -> * ) -> * @.
data TypeBXXEBXXXEBXXE ( x :: ( * -> * ) -> ( * -> * -> * ) -> ( * -> * ) -> * ) = TypeBXXEBXXXEBXXE
instance TypeClass (TypeBXXEBXXXEBXXE t) where
	type_ = TypeBXXEBXXXEBXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( ( * -> * ) -> * ) -> * -> * -> * @.
data TypeBXXEBBXXEXEXX ( x :: ( * -> * ) -> ( ( * -> * ) -> * ) -> * -> * -> * ) = TypeBXXEBBXXEXEXX
instance TypeClass (TypeBXXEBBXXEXEXX t) where
	type_ = TypeBXXEBBXXEXEXX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( ( * -> * ) -> * ) -> ( * -> * ) -> * @.
data TypeBXXEBBXXEXEBXXE ( x :: ( * -> * ) -> ( ( * -> * ) -> * ) -> ( * -> * ) -> * ) = TypeBXXEBBXXEXEBXXE
instance TypeClass (TypeBXXEBBXXEXEBXXE t) where
	type_ = TypeBXXEBBXXEXEBXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> ( * -> * -> * ) -> * -> * @.
data TypeBXXEXBXXXEX ( x :: ( * -> * ) -> * -> ( * -> * -> * ) -> * -> * ) = TypeBXXEXBXXXEX
instance TypeClass (TypeBXXEXBXXXEX t) where
	type_ = TypeBXXEXBXXXEX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> ( ( * -> * ) -> * ) -> * -> * @.
data TypeBXXEXBBXXEXEX ( x :: ( * -> * ) -> * -> ( ( * -> * ) -> * ) -> * -> * ) = TypeBXXEXBBXXEXEX
instance TypeClass (TypeBXXEXBBXXEXEX t) where
	type_ = TypeBXXEXBBXXEXEX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> * -> ( * -> * -> * ) -> * @.
data TypeBXXEXXBXXXE ( x :: ( * -> * ) -> * -> * -> ( * -> * -> * ) -> * ) = TypeBXXEXXBXXXE
instance TypeClass (TypeBXXEXXBXXXE t) where
	type_ = TypeBXXEXXBXXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)))
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> * -> ( ( * -> * ) -> * ) -> * @.
data TypeBXXEXXBBXXEXE ( x :: ( * -> * ) -> * -> * -> ( ( * -> * ) -> * ) -> * ) = TypeBXXEXXBBXXEXE
instance TypeClass (TypeBXXEXXBBXXEXE t) where
	type_ = TypeBXXEXXBBXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)))
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( * -> * -> * -> * ) -> * -> * @.
data TypeBXXEBXXXXEX ( x :: ( * -> * ) -> ( * -> * -> * -> * ) -> * -> * ) = TypeBXXEBXXXXEX
instance TypeClass (TypeBXXEBXXXXEX t) where
	type_ = TypeBXXEBXXXXEX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( ( * -> * ) -> * -> * ) -> * -> * @.
data TypeBXXEBBXXEXXEX ( x :: ( * -> * ) -> ( ( * -> * ) -> * -> * ) -> * -> * ) = TypeBXXEBBXXEXXEX
instance TypeClass (TypeBXXEBBXXEXXEX t) where
	type_ = TypeBXXEBBXXEXXEX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( * -> ( * -> * ) -> * ) -> * -> * @.
data TypeBXXEBXBXXEXEX ( x :: ( * -> * ) -> ( * -> ( * -> * ) -> * ) -> * -> * ) = TypeBXXEBXBXXEXEX
instance TypeClass (TypeBXXEBXBXXEXEX t) where
	type_ = TypeBXXEBXBXXEXEX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( ( * -> * -> * ) -> * ) -> * -> * @.
data TypeBXXEBBXXXEXEX ( x :: ( * -> * ) -> ( ( * -> * -> * ) -> * ) -> * -> * ) = TypeBXXEBBXXXEXEX
instance TypeClass (TypeBXXEBBXXXEXEX t) where
	type_ = TypeBXXEBBXXXEXEX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( ( ( * -> * ) -> * ) -> * ) -> * -> * @.
data TypeBXXEBBBXXEXEXEX ( x :: ( * -> * ) -> ( ( ( * -> * ) -> * ) -> * ) -> * -> * ) = TypeBXXEBBBXXEXEXEX
instance TypeClass (TypeBXXEBBBXXEXEXEX t) where
	type_ = TypeBXXEBBBXXEXEXEX
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> ( * -> * -> * -> * ) -> * @.
data TypeBXXEXBXXXXE ( x :: ( * -> * ) -> * -> ( * -> * -> * -> * ) -> * ) = TypeBXXEXBXXXXE
instance TypeClass (TypeBXXEXBXXXXE t) where
	type_ = TypeBXXEXBXXXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> ( ( * -> * ) -> * -> * ) -> * @.
data TypeBXXEXBBXXEXXE ( x :: ( * -> * ) -> * -> ( ( * -> * ) -> * -> * ) -> * ) = TypeBXXEXBBXXEXXE
instance TypeClass (TypeBXXEXBBXXEXXE t) where
	type_ = TypeBXXEXBBXXEXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> ( * -> ( * -> * ) -> * ) -> * @.
data TypeBXXEXBXBXXEXE ( x :: ( * -> * ) -> * -> ( * -> ( * -> * ) -> * ) -> * ) = TypeBXXEXBXBXXEXE
instance TypeClass (TypeBXXEXBXBXXEXE t) where
	type_ = TypeBXXEXBXBXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> ( ( * -> * -> * ) -> * ) -> * @.
data TypeBXXEXBBXXXEXE ( x :: ( * -> * ) -> * -> ( ( * -> * -> * ) -> * ) -> * ) = TypeBXXEXBBXXXEXE
instance TypeClass (TypeBXXEXBBXXXEXE t) where
	type_ = TypeBXXEXBBXXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * ) -> * -> ( ( ( * -> * ) -> * ) -> * ) -> * @.
data TypeBXXEXBBBXXEXEXE ( x :: ( * -> * ) -> * -> ( ( ( * -> * ) -> * ) -> * ) -> * ) = TypeBXXEXBBBXXEXEXE
instance TypeClass (TypeBXXEXBBBXXEXEXE t) where
	type_ = TypeBXXEXBBBXXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( * -> * -> * -> * -> * ) -> * @.
data TypeBXXEBXXXXXE ( x :: ( * -> * ) -> ( * -> * -> * -> * -> * ) -> * ) = TypeBXXEBXXXXXE
instance TypeClass (TypeBXXEBXXXXXE t) where
	type_ = TypeBXXEBXXXXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( ( * -> * ) -> * -> * -> * ) -> * @.
data TypeBXXEBBXXEXXXE ( x :: ( * -> * ) -> ( ( * -> * ) -> * -> * -> * ) -> * ) = TypeBXXEBBXXEXXXE
instance TypeClass (TypeBXXEBBXXEXXXE t) where
	type_ = TypeBXXEBBXXEXXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( ( * -> * ) -> ( * -> * ) -> * ) -> * @.
data TypeBXXEBBXXEBXXEXE ( x :: ( * -> * ) -> ( ( * -> * ) -> ( * -> * ) -> * ) -> * ) = TypeBXXEBBXXEBXXEXE
instance TypeClass (TypeBXXEBBXXEBXXEXE t) where
	type_ = TypeBXXEBBXXEBXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( * -> ( * -> * ) -> * -> * ) -> * @.
data TypeBXXEBXBXXEXXE ( x :: ( * -> * ) -> ( * -> ( * -> * ) -> * -> * ) -> * ) = TypeBXXEBXBXXEXXE
instance TypeClass (TypeBXXEBXBXXEXXE t) where
	type_ = TypeBXXEBXBXXEXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( * -> * -> ( * -> * ) -> * ) -> * @.
data TypeBXXEBXXBXXEXE ( x :: ( * -> * ) -> ( * -> * -> ( * -> * ) -> * ) -> * ) = TypeBXXEBXXBXXEXE
instance TypeClass (TypeBXXEBXXBXXEXE t) where
	type_ = TypeBXXEBXXBXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( ( * -> * -> * ) -> * -> * ) -> * @.
data TypeBXXEBBXXXEXXE ( x :: ( * -> * ) -> ( ( * -> * -> * ) -> * -> * ) -> * ) = TypeBXXEBBXXXEXXE
instance TypeClass (TypeBXXEBBXXXEXXE t) where
	type_ = TypeBXXEBBXXXEXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( ( ( * -> * ) -> * ) -> * -> * ) -> * @.
data TypeBXXEBBBXXEXEXXE ( x :: ( * -> * ) -> ( ( ( * -> * ) -> * ) -> * -> * ) -> * ) = TypeBXXEBBBXXEXEXXE
instance TypeClass (TypeBXXEBBBXXEXEXXE t) where
	type_ = TypeBXXEBBBXXEXEXXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( * -> ( * -> * -> * ) -> * ) -> * @.
data TypeBXXEBXBXXXEXE ( x :: ( * -> * ) -> ( * -> ( * -> * -> * ) -> * ) -> * ) = TypeBXXEBXBXXXEXE
instance TypeClass (TypeBXXEBXBXXXEXE t) where
	type_ = TypeBXXEBXBXXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( * -> ( ( * -> * ) -> * ) -> * ) -> * @.
data TypeBXXEBXBBXXEXEXE ( x :: ( * -> * ) -> ( * -> ( ( * -> * ) -> * ) -> * ) -> * ) = TypeBXXEBXBBXXEXEXE
instance TypeClass (TypeBXXEBXBBXXEXEXE t) where
	type_ = TypeBXXEBXBBXXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( ( * -> * -> * -> * ) -> * ) -> * @.
data TypeBXXEBBXXXXEXE ( x :: ( * -> * ) -> ( ( * -> * -> * -> * ) -> * ) -> * ) = TypeBXXEBBXXXXEXE
instance TypeClass (TypeBXXEBBXXXXEXE t) where
	type_ = TypeBXXEBBXXXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( ( ( * -> * ) -> * -> * ) -> * ) -> * @.
data TypeBXXEBBBXXEXXEXE ( x :: ( * -> * ) -> ( ( ( * -> * ) -> * -> * ) -> * ) -> * ) = TypeBXXEBBBXXEXXEXE
instance TypeClass (TypeBXXEBBBXXEXXEXE t) where
	type_ = TypeBXXEBBBXXEXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( ( * -> ( * -> * ) -> * ) -> * ) -> * @.
data TypeBXXEBBXBXXEXEXE ( x :: ( * -> * ) -> ( ( * -> ( * -> * ) -> * ) -> * ) -> * ) = TypeBXXEBBXBXXEXEXE
instance TypeClass (TypeBXXEBBXBXXEXEXE t) where
	type_ = TypeBXXEBBXBXXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( ( ( * -> * -> * ) -> * ) -> * ) -> * @.
data TypeBXXEBBBXXXEXEXE ( x :: ( * -> * ) -> ( ( ( * -> * -> * ) -> * ) -> * ) -> * ) = TypeBXXEBBBXXXEXEXE
instance TypeClass (TypeBXXEBBBXXXEXEXE t) where
	type_ = TypeBXXEBBBXXXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * ) -> ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBXXEBBBBXXEXEXEXE ( x :: ( * -> * ) -> ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBXXEBBBBXXEXEXEXE
instance TypeClass (TypeBXXEBBBBXXEXEXEXE t) where
	type_ = TypeBXXEBBBBXXEXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> * -> * -> * -> * -> * @.
data TypeXBXXEXXXX ( x :: * -> ( * -> * ) -> * -> * -> * -> * -> * ) = TypeXBXXEXXXX
instance TypeClass (TypeXBXXEXXXX t) where
	type_ = TypeXBXXEXXXX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))))
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> ( * -> * ) -> * -> * -> * @.
data TypeXBXXEBXXEXX ( x :: * -> ( * -> * ) -> ( * -> * ) -> * -> * -> * ) = TypeXBXXEBXXEXX
instance TypeClass (TypeXBXXEBXXEXX t) where
	type_ = TypeXBXXEBXXEXX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))))
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> ( * -> * ) -> ( * -> * ) -> * @.
data TypeXBXXEBXXEBXXE ( x :: * -> ( * -> * ) -> ( * -> * ) -> ( * -> * ) -> * ) = TypeXBXXEBXXEBXXE
instance TypeClass (TypeXBXXEBXXEBXXE t) where
	type_ = TypeXBXXEBXXEBXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> * -> ( * -> * ) -> * -> * @.
data TypeXBXXEXBXXEX ( x :: * -> ( * -> * ) -> * -> ( * -> * ) -> * -> * ) = TypeXBXXEXBXXEX
instance TypeClass (TypeXBXXEXBXXEX t) where
	type_ = TypeXBXXEXBXXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))))
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> * -> * -> ( * -> * ) -> * @.
data TypeXBXXEXXBXXE ( x :: * -> ( * -> * ) -> * -> * -> ( * -> * ) -> * ) = TypeXBXXEXXBXXE
instance TypeClass (TypeXBXXEXXBXXE t) where
	type_ = TypeXBXXEXXBXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))))
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> ( * -> * -> * ) -> * -> * @.
data TypeXBXXEBXXXEX ( x :: * -> ( * -> * ) -> ( * -> * -> * ) -> * -> * ) = TypeXBXXEBXXXEX
instance TypeClass (TypeXBXXEBXXXEX t) where
	type_ = TypeXBXXEBXXXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> ( ( * -> * ) -> * ) -> * -> * @.
data TypeXBXXEBBXXEXEX ( x :: * -> ( * -> * ) -> ( ( * -> * ) -> * ) -> * -> * ) = TypeXBXXEBBXXEXEX
instance TypeClass (TypeXBXXEBBXXEXEX t) where
	type_ = TypeXBXXEBBXXEXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> * -> ( * -> * -> * ) -> * @.
data TypeXBXXEXBXXXE ( x :: * -> ( * -> * ) -> * -> ( * -> * -> * ) -> * ) = TypeXBXXEXBXXXE
instance TypeClass (TypeXBXXEXBXXXE t) where
	type_ = TypeXBXXEXBXXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)))
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> * -> ( ( * -> * ) -> * ) -> * @.
data TypeXBXXEXBBXXEXE ( x :: * -> ( * -> * ) -> * -> ( ( * -> * ) -> * ) -> * ) = TypeXBXXEXBBXXEXE
instance TypeClass (TypeXBXXEXBBXXEXE t) where
	type_ = TypeXBXXEXBBXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)))
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> ( * -> * -> * -> * ) -> * @.
data TypeXBXXEBXXXXE ( x :: * -> ( * -> * ) -> ( * -> * -> * -> * ) -> * ) = TypeXBXXEBXXXXE
instance TypeClass (TypeXBXXEBXXXXE t) where
	type_ = TypeXBXXEBXXXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit))
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> ( ( * -> * ) -> * -> * ) -> * @.
data TypeXBXXEBBXXEXXE ( x :: * -> ( * -> * ) -> ( ( * -> * ) -> * -> * ) -> * ) = TypeXBXXEBBXXEXXE
instance TypeClass (TypeXBXXEBBXXEXXE t) where
	type_ = TypeXBXXEBBXXEXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit))
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> ( * -> ( * -> * ) -> * ) -> * @.
data TypeXBXXEBXBXXEXE ( x :: * -> ( * -> * ) -> ( * -> ( * -> * ) -> * ) -> * ) = TypeXBXXEBXBXXEXE
instance TypeClass (TypeXBXXEBXBXXEXE t) where
	type_ = TypeXBXXEBXBXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit))
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> ( ( * -> * -> * ) -> * ) -> * @.
data TypeXBXXEBBXXXEXE ( x :: * -> ( * -> * ) -> ( ( * -> * -> * ) -> * ) -> * ) = TypeXBXXEBBXXXEXE
instance TypeClass (TypeXBXXEBBXXXEXE t) where
	type_ = TypeXBXXEBBXXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ * -> ( * -> * ) -> ( ( ( * -> * ) -> * ) -> * ) -> * @.
data TypeXBXXEBBBXXEXEXE ( x :: * -> ( * -> * ) -> ( ( ( * -> * ) -> * ) -> * ) -> * ) = TypeXBXXEBBBXXEXEXE
instance TypeClass (TypeXBXXEBBBXXEXEXE t) where
	type_ = TypeXBXXEBBBXXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ * -> * -> ( * -> * ) -> * -> * -> * -> * @.
data TypeXXBXXEXXX ( x :: * -> * -> ( * -> * ) -> * -> * -> * -> * ) = TypeXXBXXEXXX
instance TypeClass (TypeXXBXXEXXX t) where
	type_ = TypeXXBXXEXXX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))))
-- | An encapsulation of type with a kind @ * -> * -> ( * -> * ) -> ( * -> * ) -> * -> * @.
data TypeXXBXXEBXXEX ( x :: * -> * -> ( * -> * ) -> ( * -> * ) -> * -> * ) = TypeXXBXXEBXXEX
instance TypeClass (TypeXXBXXEBXXEX t) where
	type_ = TypeXXBXXEBXXEX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))))
-- | An encapsulation of type with a kind @ * -> * -> ( * -> * ) -> * -> ( * -> * ) -> * @.
data TypeXXBXXEXBXXE ( x :: * -> * -> ( * -> * ) -> * -> ( * -> * ) -> * ) = TypeXXBXXEXBXXE
instance TypeClass (TypeXXBXXEXBXXE t) where
	type_ = TypeXXBXXEXBXXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))))
-- | An encapsulation of type with a kind @ * -> * -> ( * -> * ) -> ( * -> * -> * ) -> * @.
data TypeXXBXXEBXXXE ( x :: * -> * -> ( * -> * ) -> ( * -> * -> * ) -> * ) = TypeXXBXXEBXXXE
instance TypeClass (TypeXXBXXEBXXXE t) where
	type_ = TypeXXBXXEBXXXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)))
-- | An encapsulation of type with a kind @ * -> * -> ( * -> * ) -> ( ( * -> * ) -> * ) -> * @.
data TypeXXBXXEBBXXEXE ( x :: * -> * -> ( * -> * ) -> ( ( * -> * ) -> * ) -> * ) = TypeXXBXXEBBXXEXE
instance TypeClass (TypeXXBXXEBBXXEXE t) where
	type_ = TypeXXBXXEBBXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)))
-- | An encapsulation of type with a kind @ * -> * -> * -> ( * -> * ) -> * -> * -> * @.
data TypeXXXBXXEXX ( x :: * -> * -> * -> ( * -> * ) -> * -> * -> * ) = TypeXXXBXXEXX
instance TypeClass (TypeXXXBXXEXX t) where
	type_ = TypeXXXBXXEXX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))))
-- | An encapsulation of type with a kind @ * -> * -> * -> ( * -> * ) -> ( * -> * ) -> * @.
data TypeXXXBXXEBXXE ( x :: * -> * -> * -> ( * -> * ) -> ( * -> * ) -> * ) = TypeXXXBXXEBXXE
instance TypeClass (TypeXXXBXXEBXXE t) where
	type_ = TypeXXXBXXEBXXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))))
-- | An encapsulation of type with a kind @ * -> * -> * -> * -> ( * -> * ) -> * -> * @.
data TypeXXXXBXXEX ( x :: * -> * -> * -> * -> ( * -> * ) -> * -> * ) = TypeXXXXBXXEX
instance TypeClass (TypeXXXXBXXEX t) where
	type_ = TypeXXXXBXXEX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))))
-- | An encapsulation of type with a kind @ * -> * -> * -> * -> * -> ( * -> * ) -> * @.
data TypeXXXXXBXXE ( x :: * -> * -> * -> * -> * -> ( * -> * ) -> * ) = TypeXXXXXBXXE
instance TypeClass (TypeXXXXXBXXE t) where
	type_ = TypeXXXXXBXXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))))
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> * -> * -> * -> * -> * @.
data TypeBXXXEXXXX ( x :: ( * -> * -> * ) -> * -> * -> * -> * -> * ) = TypeBXXXEXXXX
instance TypeClass (TypeBXXXEXXXX t) where
	type_ = TypeBXXXEXXXX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> ( * -> * ) -> * -> * -> * @.
data TypeBXXXEBXXEXX ( x :: ( * -> * -> * ) -> ( * -> * ) -> * -> * -> * ) = TypeBXXXEBXXEXX
instance TypeClass (TypeBXXXEBXXEXX t) where
	type_ = TypeBXXXEBXXEXX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> ( * -> * ) -> ( * -> * ) -> * @.
data TypeBXXXEBXXEBXXE ( x :: ( * -> * -> * ) -> ( * -> * ) -> ( * -> * ) -> * ) = TypeBXXXEBXXEBXXE
instance TypeClass (TypeBXXXEBXXEBXXE t) where
	type_ = TypeBXXXEBXXEBXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> * -> ( * -> * ) -> * -> * @.
data TypeBXXXEXBXXEX ( x :: ( * -> * -> * ) -> * -> ( * -> * ) -> * -> * ) = TypeBXXXEXBXXEX
instance TypeClass (TypeBXXXEXBXXEX t) where
	type_ = TypeBXXXEXBXXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> * -> * -> ( * -> * ) -> * @.
data TypeBXXXEXXBXXE ( x :: ( * -> * -> * ) -> * -> * -> ( * -> * ) -> * ) = TypeBXXXEXXBXXE
instance TypeClass (TypeBXXXEXXBXXE t) where
	type_ = TypeBXXXEXXBXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> ( * -> * -> * ) -> * -> * @.
data TypeBXXXEBXXXEX ( x :: ( * -> * -> * ) -> ( * -> * -> * ) -> * -> * ) = TypeBXXXEBXXXEX
instance TypeClass (TypeBXXXEBXXXEX t) where
	type_ = TypeBXXXEBXXXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> ( ( * -> * ) -> * ) -> * -> * @.
data TypeBXXXEBBXXEXEX ( x :: ( * -> * -> * ) -> ( ( * -> * ) -> * ) -> * -> * ) = TypeBXXXEBBXXEXEX
instance TypeClass (TypeBXXXEBBXXEXEX t) where
	type_ = TypeBXXXEBBXXEXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> * -> ( * -> * -> * ) -> * @.
data TypeBXXXEXBXXXE ( x :: ( * -> * -> * ) -> * -> ( * -> * -> * ) -> * ) = TypeBXXXEXBXXXE
instance TypeClass (TypeBXXXEXBXXXE t) where
	type_ = TypeBXXXEXBXXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> * -> ( ( * -> * ) -> * ) -> * @.
data TypeBXXXEXBBXXEXE ( x :: ( * -> * -> * ) -> * -> ( ( * -> * ) -> * ) -> * ) = TypeBXXXEXBBXXEXE
instance TypeClass (TypeBXXXEXBBXXEXE t) where
	type_ = TypeBXXXEXBBXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> ( * -> * -> * -> * ) -> * @.
data TypeBXXXEBXXXXE ( x :: ( * -> * -> * ) -> ( * -> * -> * -> * ) -> * ) = TypeBXXXEBXXXXE
instance TypeClass (TypeBXXXEBXXXXE t) where
	type_ = TypeBXXXEBXXXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> ( ( * -> * ) -> * -> * ) -> * @.
data TypeBXXXEBBXXEXXE ( x :: ( * -> * -> * ) -> ( ( * -> * ) -> * -> * ) -> * ) = TypeBXXXEBBXXEXXE
instance TypeClass (TypeBXXXEBBXXEXXE t) where
	type_ = TypeBXXXEBBXXEXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> ( * -> ( * -> * ) -> * ) -> * @.
data TypeBXXXEBXBXXEXE ( x :: ( * -> * -> * ) -> ( * -> ( * -> * ) -> * ) -> * ) = TypeBXXXEBXBXXEXE
instance TypeClass (TypeBXXXEBXBXXEXE t) where
	type_ = TypeBXXXEBXBXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> ( ( * -> * -> * ) -> * ) -> * @.
data TypeBXXXEBBXXXEXE ( x :: ( * -> * -> * ) -> ( ( * -> * -> * ) -> * ) -> * ) = TypeBXXXEBBXXXEXE
instance TypeClass (TypeBXXXEBBXXXEXE t) where
	type_ = TypeBXXXEBBXXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * -> * ) -> ( ( ( * -> * ) -> * ) -> * ) -> * @.
data TypeBXXXEBBBXXEXEXE ( x :: ( * -> * -> * ) -> ( ( ( * -> * ) -> * ) -> * ) -> * ) = TypeBXXXEBBBXXEXEXE
instance TypeClass (TypeBXXXEBBBXXEXEXE t) where
	type_ = TypeBXXXEBBBXXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> * -> * -> * -> * -> * @.
data TypeBBXXEXEXXXX ( x :: ( ( * -> * ) -> * ) -> * -> * -> * -> * -> * ) = TypeBBXXEXEXXXX
instance TypeClass (TypeBBXXEXEXXXX t) where
	type_ = TypeBBXXEXEXXXX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> ( * -> * ) -> * -> * -> * @.
data TypeBBXXEXEBXXEXX ( x :: ( ( * -> * ) -> * ) -> ( * -> * ) -> * -> * -> * ) = TypeBBXXEXEBXXEXX
instance TypeClass (TypeBBXXEXEBXXEXX t) where
	type_ = TypeBBXXEXEBXXEXX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> ( * -> * ) -> ( * -> * ) -> * @.
data TypeBBXXEXEBXXEBXXE ( x :: ( ( * -> * ) -> * ) -> ( * -> * ) -> ( * -> * ) -> * ) = TypeBBXXEXEBXXEBXXE
instance TypeClass (TypeBBXXEXEBXXEBXXE t) where
	type_ = TypeBBXXEXEBXXEBXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> * -> ( * -> * ) -> * -> * @.
data TypeBBXXEXEXBXXEX ( x :: ( ( * -> * ) -> * ) -> * -> ( * -> * ) -> * -> * ) = TypeBBXXEXEXBXXEX
instance TypeClass (TypeBBXXEXEXBXXEX t) where
	type_ = TypeBBXXEXEXBXXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> * -> * -> ( * -> * ) -> * @.
data TypeBBXXEXEXXBXXE ( x :: ( ( * -> * ) -> * ) -> * -> * -> ( * -> * ) -> * ) = TypeBBXXEXEXXBXXE
instance TypeClass (TypeBBXXEXEXXBXXE t) where
	type_ = TypeBBXXEXEXXBXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> ( * -> * -> * ) -> * -> * @.
data TypeBBXXEXEBXXXEX ( x :: ( ( * -> * ) -> * ) -> ( * -> * -> * ) -> * -> * ) = TypeBBXXEXEBXXXEX
instance TypeClass (TypeBBXXEXEBXXXEX t) where
	type_ = TypeBBXXEXEBXXXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> ( ( * -> * ) -> * ) -> * -> * @.
data TypeBBXXEXEBBXXEXEX ( x :: ( ( * -> * ) -> * ) -> ( ( * -> * ) -> * ) -> * -> * ) = TypeBBXXEXEBBXXEXEX
instance TypeClass (TypeBBXXEXEBBXXEXEX t) where
	type_ = TypeBBXXEXEBBXXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> * -> ( * -> * -> * ) -> * @.
data TypeBBXXEXEXBXXXE ( x :: ( ( * -> * ) -> * ) -> * -> ( * -> * -> * ) -> * ) = TypeBBXXEXEXBXXXE
instance TypeClass (TypeBBXXEXEXBXXXE t) where
	type_ = TypeBBXXEXEXBXXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> * -> ( ( * -> * ) -> * ) -> * @.
data TypeBBXXEXEXBBXXEXE ( x :: ( ( * -> * ) -> * ) -> * -> ( ( * -> * ) -> * ) -> * ) = TypeBBXXEXEXBBXXEXE
instance TypeClass (TypeBBXXEXEXBBXXEXE t) where
	type_ = TypeBBXXEXEXBBXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> ( * -> * -> * -> * ) -> * @.
data TypeBBXXEXEBXXXXE ( x :: ( ( * -> * ) -> * ) -> ( * -> * -> * -> * ) -> * ) = TypeBBXXEXEBXXXXE
instance TypeClass (TypeBBXXEXEBXXXXE t) where
	type_ = TypeBBXXEXEBXXXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> ( ( * -> * ) -> * -> * ) -> * @.
data TypeBBXXEXEBBXXEXXE ( x :: ( ( * -> * ) -> * ) -> ( ( * -> * ) -> * -> * ) -> * ) = TypeBBXXEXEBBXXEXXE
instance TypeClass (TypeBBXXEXEBBXXEXXE t) where
	type_ = TypeBBXXEXEBBXXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> ( * -> ( * -> * ) -> * ) -> * @.
data TypeBBXXEXEBXBXXEXE ( x :: ( ( * -> * ) -> * ) -> ( * -> ( * -> * ) -> * ) -> * ) = TypeBBXXEXEBXBXXEXE
instance TypeClass (TypeBBXXEXEBXBXXEXE t) where
	type_ = TypeBBXXEXEBXBXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> ( ( * -> * -> * ) -> * ) -> * @.
data TypeBBXXEXEBBXXXEXE ( x :: ( ( * -> * ) -> * ) -> ( ( * -> * -> * ) -> * ) -> * ) = TypeBBXXEXEBBXXXEXE
instance TypeClass (TypeBBXXEXEBBXXXEXE t) where
	type_ = TypeBBXXEXEBBXXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * ) -> ( ( ( * -> * ) -> * ) -> * ) -> * @.
data TypeBBXXEXEBBBXXEXEXE ( x :: ( ( * -> * ) -> * ) -> ( ( ( * -> * ) -> * ) -> * ) -> * ) = TypeBBXXEXEBBBXXEXEXE
instance TypeClass (TypeBBXXEXEBBBXXEXEXE t) where
	type_ = TypeBBXXEXEBBBXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( * -> * -> * ) -> * -> * -> * -> * @.
data TypeXBXXXEXXX ( x :: * -> ( * -> * -> * ) -> * -> * -> * -> * ) = TypeXBXXXEXXX
instance TypeClass (TypeXBXXXEXXX t) where
	type_ = TypeXBXXXEXXX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))
-- | An encapsulation of type with a kind @ * -> ( * -> * -> * ) -> ( * -> * ) -> * -> * @.
data TypeXBXXXEBXXEX ( x :: * -> ( * -> * -> * ) -> ( * -> * ) -> * -> * ) = TypeXBXXXEBXXEX
instance TypeClass (TypeXBXXXEBXXEX t) where
	type_ = TypeXBXXXEBXXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ * -> ( * -> * -> * ) -> * -> ( * -> * ) -> * @.
data TypeXBXXXEXBXXE ( x :: * -> ( * -> * -> * ) -> * -> ( * -> * ) -> * ) = TypeXBXXXEXBXXE
instance TypeClass (TypeXBXXXEXBXXE t) where
	type_ = TypeXBXXXEXBXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))
-- | An encapsulation of type with a kind @ * -> ( * -> * -> * ) -> ( * -> * -> * ) -> * @.
data TypeXBXXXEBXXXE ( x :: * -> ( * -> * -> * ) -> ( * -> * -> * ) -> * ) = TypeXBXXXEBXXXE
instance TypeClass (TypeXBXXXEBXXXE t) where
	type_ = TypeXBXXXEBXXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))
-- | An encapsulation of type with a kind @ * -> ( * -> * -> * ) -> ( ( * -> * ) -> * ) -> * @.
data TypeXBXXXEBBXXEXE ( x :: * -> ( * -> * -> * ) -> ( ( * -> * ) -> * ) -> * ) = TypeXBXXXEBBXXEXE
instance TypeClass (TypeXBXXXEBBXXEXE t) where
	type_ = TypeXBXXXEBBXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ * -> ( ( * -> * ) -> * ) -> * -> * -> * -> * @.
data TypeXBBXXEXEXXX ( x :: * -> ( ( * -> * ) -> * ) -> * -> * -> * -> * ) = TypeXBBXXEXEXXX
instance TypeClass (TypeXBBXXEXEXXX t) where
	type_ = TypeXBBXXEXEXXX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))
-- | An encapsulation of type with a kind @ * -> ( ( * -> * ) -> * ) -> ( * -> * ) -> * -> * @.
data TypeXBBXXEXEBXXEX ( x :: * -> ( ( * -> * ) -> * ) -> ( * -> * ) -> * -> * ) = TypeXBBXXEXEBXXEX
instance TypeClass (TypeXBBXXEXEBXXEX t) where
	type_ = TypeXBBXXEXEBXXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ * -> ( ( * -> * ) -> * ) -> * -> ( * -> * ) -> * @.
data TypeXBBXXEXEXBXXE ( x :: * -> ( ( * -> * ) -> * ) -> * -> ( * -> * ) -> * ) = TypeXBBXXEXEXBXXE
instance TypeClass (TypeXBBXXEXEXBXXE t) where
	type_ = TypeXBBXXEXEXBXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))
-- | An encapsulation of type with a kind @ * -> ( ( * -> * ) -> * ) -> ( * -> * -> * ) -> * @.
data TypeXBBXXEXEBXXXE ( x :: * -> ( ( * -> * ) -> * ) -> ( * -> * -> * ) -> * ) = TypeXBBXXEXEBXXXE
instance TypeClass (TypeXBBXXEXEBXXXE t) where
	type_ = TypeXBBXXEXEBXXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))
-- | An encapsulation of type with a kind @ * -> ( ( * -> * ) -> * ) -> ( ( * -> * ) -> * ) -> * @.
data TypeXBBXXEXEBBXXEXE ( x :: * -> ( ( * -> * ) -> * ) -> ( ( * -> * ) -> * ) -> * ) = TypeXBBXXEXEBBXXEXE
instance TypeClass (TypeXBBXXEXEBBXXEXE t) where
	type_ = TypeXBBXXEXEBBXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ * -> * -> ( * -> * -> * ) -> * -> * -> * @.
data TypeXXBXXXEXX ( x :: * -> * -> ( * -> * -> * ) -> * -> * -> * ) = TypeXXBXXXEXX
instance TypeClass (TypeXXBXXXEXX t) where
	type_ = TypeXXBXXXEXX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))))
-- | An encapsulation of type with a kind @ * -> * -> ( * -> * -> * ) -> ( * -> * ) -> * @.
data TypeXXBXXXEBXXE ( x :: * -> * -> ( * -> * -> * ) -> ( * -> * ) -> * ) = TypeXXBXXXEBXXE
instance TypeClass (TypeXXBXXXEBXXE t) where
	type_ = TypeXXBXXXEBXXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))
-- | An encapsulation of type with a kind @ * -> * -> ( ( * -> * ) -> * ) -> * -> * -> * @.
data TypeXXBBXXEXEXX ( x :: * -> * -> ( ( * -> * ) -> * ) -> * -> * -> * ) = TypeXXBBXXEXEXX
instance TypeClass (TypeXXBBXXEXEXX t) where
	type_ = TypeXXBBXXEXEXX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))))
-- | An encapsulation of type with a kind @ * -> * -> ( ( * -> * ) -> * ) -> ( * -> * ) -> * @.
data TypeXXBBXXEXEBXXE ( x :: * -> * -> ( ( * -> * ) -> * ) -> ( * -> * ) -> * ) = TypeXXBBXXEXEBXXE
instance TypeClass (TypeXXBBXXEXEBXXE t) where
	type_ = TypeXXBBXXEXEBXXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))
-- | An encapsulation of type with a kind @ * -> * -> * -> ( * -> * -> * ) -> * -> * @.
data TypeXXXBXXXEX ( x :: * -> * -> * -> ( * -> * -> * ) -> * -> * ) = TypeXXXBXXXEX
instance TypeClass (TypeXXXBXXXEX t) where
	type_ = TypeXXXBXXXEX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))))
-- | An encapsulation of type with a kind @ * -> * -> * -> ( ( * -> * ) -> * ) -> * -> * @.
data TypeXXXBBXXEXEX ( x :: * -> * -> * -> ( ( * -> * ) -> * ) -> * -> * ) = TypeXXXBBXXEXEX
instance TypeClass (TypeXXXBBXXEXEX t) where
	type_ = TypeXXXBBXXEXEX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit))))
-- | An encapsulation of type with a kind @ * -> * -> * -> * -> ( * -> * -> * ) -> * @.
data TypeXXXXBXXXE ( x :: * -> * -> * -> * -> ( * -> * -> * ) -> * ) = TypeXXXXBXXXE
instance TypeClass (TypeXXXXBXXXE t) where
	type_ = TypeXXXXBXXXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))))
-- | An encapsulation of type with a kind @ * -> * -> * -> * -> ( ( * -> * ) -> * ) -> * @.
data TypeXXXXBBXXEXE ( x :: * -> * -> * -> * -> ( ( * -> * ) -> * ) -> * ) = TypeXXXXBBXXEXE
instance TypeClass (TypeXXXXBBXXEXE t) where
	type_ = TypeXXXXBBXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))))
-- | An encapsulation of type with a kind @ ( * -> * -> * -> * ) -> * -> * -> * -> * @.
data TypeBXXXXEXXX ( x :: ( * -> * -> * -> * ) -> * -> * -> * -> * ) = TypeBXXXXEXXX
instance TypeClass (TypeBXXXXEXXX t) where
	type_ = TypeBXXXXEXXX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ ( * -> * -> * -> * ) -> ( * -> * ) -> * -> * @.
data TypeBXXXXEBXXEX ( x :: ( * -> * -> * -> * ) -> ( * -> * ) -> * -> * ) = TypeBXXXXEBXXEX
instance TypeClass (TypeBXXXXEBXXEX t) where
	type_ = TypeBXXXXEBXXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * -> * -> * ) -> * -> ( * -> * ) -> * @.
data TypeBXXXXEXBXXE ( x :: ( * -> * -> * -> * ) -> * -> ( * -> * ) -> * ) = TypeBXXXXEXBXXE
instance TypeClass (TypeBXXXXEXBXXE t) where
	type_ = TypeBXXXXEXBXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * -> * -> * ) -> ( * -> * -> * ) -> * @.
data TypeBXXXXEBXXXE ( x :: ( * -> * -> * -> * ) -> ( * -> * -> * ) -> * ) = TypeBXXXXEBXXXE
instance TypeClass (TypeBXXXXEBXXXE t) where
	type_ = TypeBXXXXEBXXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * -> * -> * ) -> ( ( * -> * ) -> * ) -> * @.
data TypeBXXXXEBBXXEXE ( x :: ( * -> * -> * -> * ) -> ( ( * -> * ) -> * ) -> * ) = TypeBXXXXEBBXXEXE
instance TypeClass (TypeBXXXXEBBXXEXE t) where
	type_ = TypeBXXXXEBBXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * -> * ) -> * -> * -> * -> * @.
data TypeBBXXEXXEXXX ( x :: ( ( * -> * ) -> * -> * ) -> * -> * -> * -> * ) = TypeBBXXEXXEXXX
instance TypeClass (TypeBBXXEXXEXXX t) where
	type_ = TypeBBXXEXXEXXX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * -> * ) -> ( * -> * ) -> * -> * @.
data TypeBBXXEXXEBXXEX ( x :: ( ( * -> * ) -> * -> * ) -> ( * -> * ) -> * -> * ) = TypeBBXXEXXEBXXEX
instance TypeClass (TypeBBXXEXXEBXXEX t) where
	type_ = TypeBBXXEXXEBXXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * -> * ) -> * -> ( * -> * ) -> * @.
data TypeBBXXEXXEXBXXE ( x :: ( ( * -> * ) -> * -> * ) -> * -> ( * -> * ) -> * ) = TypeBBXXEXXEXBXXE
instance TypeClass (TypeBBXXEXXEXBXXE t) where
	type_ = TypeBBXXEXXEXBXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * -> * ) -> ( * -> * -> * ) -> * @.
data TypeBBXXEXXEBXXXE ( x :: ( ( * -> * ) -> * -> * ) -> ( * -> * -> * ) -> * ) = TypeBBXXEXXEBXXXE
instance TypeClass (TypeBBXXEXXEBXXXE t) where
	type_ = TypeBBXXEXXEBXXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * -> * ) -> ( ( * -> * ) -> * ) -> * @.
data TypeBBXXEXXEBBXXEXE ( x :: ( ( * -> * ) -> * -> * ) -> ( ( * -> * ) -> * ) -> * ) = TypeBBXXEXXEBBXXEXE
instance TypeClass (TypeBBXXEXXEBBXXEXE t) where
	type_ = TypeBBXXEXXEBBXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> ( * -> * ) -> * ) -> * -> * -> * -> * @.
data TypeBXBXXEXEXXX ( x :: ( * -> ( * -> * ) -> * ) -> * -> * -> * -> * ) = TypeBXBXXEXEXXX
instance TypeClass (TypeBXBXXEXEXXX t) where
	type_ = TypeBXBXXEXEXXX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ ( * -> ( * -> * ) -> * ) -> ( * -> * ) -> * -> * @.
data TypeBXBXXEXEBXXEX ( x :: ( * -> ( * -> * ) -> * ) -> ( * -> * ) -> * -> * ) = TypeBXBXXEXEBXXEX
instance TypeClass (TypeBXBXXEXEBXXEX t) where
	type_ = TypeBXBXXEXEBXXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( * -> ( * -> * ) -> * ) -> * -> ( * -> * ) -> * @.
data TypeBXBXXEXEXBXXE ( x :: ( * -> ( * -> * ) -> * ) -> * -> ( * -> * ) -> * ) = TypeBXBXXEXEXBXXE
instance TypeClass (TypeBXBXXEXEXBXXE t) where
	type_ = TypeBXBXXEXEXBXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ ( * -> ( * -> * ) -> * ) -> ( * -> * -> * ) -> * @.
data TypeBXBXXEXEBXXXE ( x :: ( * -> ( * -> * ) -> * ) -> ( * -> * -> * ) -> * ) = TypeBXBXXEXEBXXXE
instance TypeClass (TypeBXBXXEXEBXXXE t) where
	type_ = TypeBXBXXEXEBXXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> ( * -> * ) -> * ) -> ( ( * -> * ) -> * ) -> * @.
data TypeBXBXXEXEBBXXEXE ( x :: ( * -> ( * -> * ) -> * ) -> ( ( * -> * ) -> * ) -> * ) = TypeBXBXXEXEBBXXEXE
instance TypeClass (TypeBXBXXEXEBBXXEXE t) where
	type_ = TypeBXBXXEXEBBXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * -> * ) -> * ) -> * -> * -> * -> * @.
data TypeBBXXXEXEXXX ( x :: ( ( * -> * -> * ) -> * ) -> * -> * -> * -> * ) = TypeBBXXXEXEXXX
instance TypeClass (TypeBBXXXEXEXXX t) where
	type_ = TypeBBXXXEXEXXX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ ( ( * -> * -> * ) -> * ) -> ( * -> * ) -> * -> * @.
data TypeBBXXXEXEBXXEX ( x :: ( ( * -> * -> * ) -> * ) -> ( * -> * ) -> * -> * ) = TypeBBXXXEXEBXXEX
instance TypeClass (TypeBBXXXEXEBXXEX t) where
	type_ = TypeBBXXXEXEBXXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( ( * -> * -> * ) -> * ) -> * -> ( * -> * ) -> * @.
data TypeBBXXXEXEXBXXE ( x :: ( ( * -> * -> * ) -> * ) -> * -> ( * -> * ) -> * ) = TypeBBXXXEXEXBXXE
instance TypeClass (TypeBBXXXEXEXBXXE t) where
	type_ = TypeBBXXXEXEXBXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ ( ( * -> * -> * ) -> * ) -> ( * -> * -> * ) -> * @.
data TypeBBXXXEXEBXXXE ( x :: ( ( * -> * -> * ) -> * ) -> ( * -> * -> * ) -> * ) = TypeBBXXXEXEBXXXE
instance TypeClass (TypeBBXXXEXEBXXXE t) where
	type_ = TypeBBXXXEXEBXXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * -> * ) -> * ) -> ( ( * -> * ) -> * ) -> * @.
data TypeBBXXXEXEBBXXEXE ( x :: ( ( * -> * -> * ) -> * ) -> ( ( * -> * ) -> * ) -> * ) = TypeBBXXXEXEBBXXEXE
instance TypeClass (TypeBBXXXEXEBBXXEXE t) where
	type_ = TypeBBXXXEXEBBXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * ) -> * ) -> * -> * -> * -> * @.
data TypeBBBXXEXEXEXXX ( x :: ( ( ( * -> * ) -> * ) -> * ) -> * -> * -> * -> * ) = TypeBBBXXEXEXEXXX
instance TypeClass (TypeBBBXXEXEXEXXX t) where
	type_ = TypeBBBXXEXEXEXXX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * ) -> * ) -> ( * -> * ) -> * -> * @.
data TypeBBBXXEXEXEBXXEX ( x :: ( ( ( * -> * ) -> * ) -> * ) -> ( * -> * ) -> * -> * ) = TypeBBBXXEXEXEBXXEX
instance TypeClass (TypeBBBXXEXEXEBXXEX t) where
	type_ = TypeBBBXXEXEXEBXXEX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * ) -> * ) -> * -> ( * -> * ) -> * @.
data TypeBBBXXEXEXEXBXXE ( x :: ( ( ( * -> * ) -> * ) -> * ) -> * -> ( * -> * ) -> * ) = TypeBBBXXEXEXEXBXXE
instance TypeClass (TypeBBBXXEXEXEXBXXE t) where
	type_ = TypeBBBXXEXEXEXBXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * ) -> * ) -> ( * -> * -> * ) -> * @.
data TypeBBBXXEXEXEBXXXE ( x :: ( ( ( * -> * ) -> * ) -> * ) -> ( * -> * -> * ) -> * ) = TypeBBBXXEXEXEBXXXE
instance TypeClass (TypeBBBXXEXEXEBXXXE t) where
	type_ = TypeBBBXXEXEXEBXXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * ) -> * ) -> ( ( * -> * ) -> * ) -> * @.
data TypeBBBXXEXEXEBBXXEXE ( x :: ( ( ( * -> * ) -> * ) -> * ) -> ( ( * -> * ) -> * ) -> * ) = TypeBBBXXEXEXEBBXXEXE
instance TypeClass (TypeBBBXXEXEXEBBXXEXE t) where
	type_ = TypeBBBXXEXEXEBBXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( * -> * -> * -> * ) -> * -> * -> * @.
data TypeXBXXXXEXX ( x :: * -> ( * -> * -> * -> * ) -> * -> * -> * ) = TypeXBXXXXEXX
instance TypeClass (TypeXBXXXXEXX t) where
	type_ = TypeXBXXXXEXX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ * -> ( * -> * -> * -> * ) -> ( * -> * ) -> * @.
data TypeXBXXXXEBXXE ( x :: * -> ( * -> * -> * -> * ) -> ( * -> * ) -> * ) = TypeXBXXXXEBXXE
instance TypeClass (TypeXBXXXXEBXXE t) where
	type_ = TypeXBXXXXEBXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ * -> ( ( * -> * ) -> * -> * ) -> * -> * -> * @.
data TypeXBBXXEXXEXX ( x :: * -> ( ( * -> * ) -> * -> * ) -> * -> * -> * ) = TypeXBBXXEXXEXX
instance TypeClass (TypeXBBXXEXXEXX t) where
	type_ = TypeXBBXXEXXEXX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ * -> ( ( * -> * ) -> * -> * ) -> ( * -> * ) -> * @.
data TypeXBBXXEXXEBXXE ( x :: * -> ( ( * -> * ) -> * -> * ) -> ( * -> * ) -> * ) = TypeXBBXXEXXEBXXE
instance TypeClass (TypeXBBXXEXXEBXXE t) where
	type_ = TypeXBBXXEXXEBXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ * -> ( * -> ( * -> * ) -> * ) -> * -> * -> * @.
data TypeXBXBXXEXEXX ( x :: * -> ( * -> ( * -> * ) -> * ) -> * -> * -> * ) = TypeXBXBXXEXEXX
instance TypeClass (TypeXBXBXXEXEXX t) where
	type_ = TypeXBXBXXEXEXX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ * -> ( * -> ( * -> * ) -> * ) -> ( * -> * ) -> * @.
data TypeXBXBXXEXEBXXE ( x :: * -> ( * -> ( * -> * ) -> * ) -> ( * -> * ) -> * ) = TypeXBXBXXEXEBXXE
instance TypeClass (TypeXBXBXXEXEBXXE t) where
	type_ = TypeXBXBXXEXEBXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ * -> ( ( * -> * -> * ) -> * ) -> * -> * -> * @.
data TypeXBBXXXEXEXX ( x :: * -> ( ( * -> * -> * ) -> * ) -> * -> * -> * ) = TypeXBBXXXEXEXX
instance TypeClass (TypeXBBXXXEXEXX t) where
	type_ = TypeXBBXXXEXEXX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ * -> ( ( * -> * -> * ) -> * ) -> ( * -> * ) -> * @.
data TypeXBBXXXEXEBXXE ( x :: * -> ( ( * -> * -> * ) -> * ) -> ( * -> * ) -> * ) = TypeXBBXXXEXEBXXE
instance TypeClass (TypeXBBXXXEXEBXXE t) where
	type_ = TypeXBBXXXEXEBXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ * -> ( ( ( * -> * ) -> * ) -> * ) -> * -> * -> * @.
data TypeXBBBXXEXEXEXX ( x :: * -> ( ( ( * -> * ) -> * ) -> * ) -> * -> * -> * ) = TypeXBBBXXEXEXEXX
instance TypeClass (TypeXBBBXXEXEXEXX t) where
	type_ = TypeXBBBXXEXEXEXX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ * -> ( ( ( * -> * ) -> * ) -> * ) -> ( * -> * ) -> * @.
data TypeXBBBXXEXEXEBXXE ( x :: * -> ( ( ( * -> * ) -> * ) -> * ) -> ( * -> * ) -> * ) = TypeXBBBXXEXEXEBXXE
instance TypeClass (TypeXBBBXXEXEXEBXXE t) where
	type_ = TypeXBBBXXEXEXEBXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ * -> * -> ( * -> * -> * -> * ) -> * -> * @.
data TypeXXBXXXXEX ( x :: * -> * -> ( * -> * -> * -> * ) -> * -> * ) = TypeXXBXXXXEX
instance TypeClass (TypeXXBXXXXEX t) where
	type_ = TypeXXBXXXXEX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ * -> * -> ( ( * -> * ) -> * -> * ) -> * -> * @.
data TypeXXBBXXEXXEX ( x :: * -> * -> ( ( * -> * ) -> * -> * ) -> * -> * ) = TypeXXBBXXEXXEX
instance TypeClass (TypeXXBBXXEXXEX t) where
	type_ = TypeXXBBXXEXXEX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ * -> * -> ( * -> ( * -> * ) -> * ) -> * -> * @.
data TypeXXBXBXXEXEX ( x :: * -> * -> ( * -> ( * -> * ) -> * ) -> * -> * ) = TypeXXBXBXXEXEX
instance TypeClass (TypeXXBXBXXEXEX t) where
	type_ = TypeXXBXBXXEXEX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ * -> * -> ( ( * -> * -> * ) -> * ) -> * -> * @.
data TypeXXBBXXXEXEX ( x :: * -> * -> ( ( * -> * -> * ) -> * ) -> * -> * ) = TypeXXBBXXXEXEX
instance TypeClass (TypeXXBBXXXEXEX t) where
	type_ = TypeXXBBXXXEXEX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ * -> * -> ( ( ( * -> * ) -> * ) -> * ) -> * -> * @.
data TypeXXBBBXXEXEXEX ( x :: * -> * -> ( ( ( * -> * ) -> * ) -> * ) -> * -> * ) = TypeXXBBBXXEXEXEX
instance TypeClass (TypeXXBBBXXEXEXEX t) where
	type_ = TypeXXBBBXXEXEXEX
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)))
-- | An encapsulation of type with a kind @ * -> * -> * -> ( * -> * -> * -> * ) -> * @.
data TypeXXXBXXXXE ( x :: * -> * -> * -> ( * -> * -> * -> * ) -> * ) = TypeXXXBXXXXE
instance TypeClass (TypeXXXBXXXXE t) where
	type_ = TypeXXXBXXXXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)))
-- | An encapsulation of type with a kind @ * -> * -> * -> ( ( * -> * ) -> * -> * ) -> * @.
data TypeXXXBBXXEXXE ( x :: * -> * -> * -> ( ( * -> * ) -> * -> * ) -> * ) = TypeXXXBBXXEXXE
instance TypeClass (TypeXXXBBXXEXXE t) where
	type_ = TypeXXXBBXXEXXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)))
-- | An encapsulation of type with a kind @ * -> * -> * -> ( * -> ( * -> * ) -> * ) -> * @.
data TypeXXXBXBXXEXE ( x :: * -> * -> * -> ( * -> ( * -> * ) -> * ) -> * ) = TypeXXXBXBXXEXE
instance TypeClass (TypeXXXBXBXXEXE t) where
	type_ = TypeXXXBXBXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)))
-- | An encapsulation of type with a kind @ * -> * -> * -> ( ( * -> * -> * ) -> * ) -> * @.
data TypeXXXBBXXXEXE ( x :: * -> * -> * -> ( ( * -> * -> * ) -> * ) -> * ) = TypeXXXBBXXXEXE
instance TypeClass (TypeXXXBBXXXEXE t) where
	type_ = TypeXXXBBXXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)))
-- | An encapsulation of type with a kind @ * -> * -> * -> ( ( ( * -> * ) -> * ) -> * ) -> * @.
data TypeXXXBBBXXEXEXE ( x :: * -> * -> * -> ( ( ( * -> * ) -> * ) -> * ) -> * ) = TypeXXXBBBXXEXEXE
instance TypeClass (TypeXXXBBBXXEXEXE t) where
	type_ = TypeXXXBBBXXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit)))
-- | An encapsulation of type with a kind @ ( * -> * -> * -> * -> * ) -> * -> * -> * @.
data TypeBXXXXXEXX ( x :: ( * -> * -> * -> * -> * ) -> * -> * -> * ) = TypeBXXXXXEXX
instance TypeClass (TypeBXXXXXEXX t) where
	type_ = TypeBXXXXXEXX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) (KindArrow KindUnit (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * -> * -> * -> * ) -> ( * -> * ) -> * @.
data TypeBXXXXXEBXXE ( x :: ( * -> * -> * -> * -> * ) -> ( * -> * ) -> * ) = TypeBXXXXXEBXXE
instance TypeClass (TypeBXXXXXEBXXE t) where
	type_ = TypeBXXXXXEBXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * -> * -> * ) -> * -> * -> * @.
data TypeBBXXEXXXEXX ( x :: ( ( * -> * ) -> * -> * -> * ) -> * -> * -> * ) = TypeBBXXEXXXEXX
instance TypeClass (TypeBBXXEXXXEXX t) where
	type_ = TypeBBXXEXXXEXX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * -> * -> * ) -> ( * -> * ) -> * @.
data TypeBBXXEXXXEBXXE ( x :: ( ( * -> * ) -> * -> * -> * ) -> ( * -> * ) -> * ) = TypeBBXXEXXXEBXXE
instance TypeClass (TypeBBXXEXXXEBXXE t) where
	type_ = TypeBBXXEXXXEBXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> ( * -> * ) -> * ) -> * -> * -> * @.
data TypeBBXXEBXXEXEXX ( x :: ( ( * -> * ) -> ( * -> * ) -> * ) -> * -> * -> * ) = TypeBBXXEBXXEXEXX
instance TypeClass (TypeBBXXEBXXEXEXX t) where
	type_ = TypeBBXXEBXXEXEXX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> ( * -> * ) -> * ) -> ( * -> * ) -> * @.
data TypeBBXXEBXXEXEBXXE ( x :: ( ( * -> * ) -> ( * -> * ) -> * ) -> ( * -> * ) -> * ) = TypeBBXXEBXXEXEBXXE
instance TypeClass (TypeBBXXEBXXEXEBXXE t) where
	type_ = TypeBBXXEBXXEXEBXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> ( * -> * ) -> * -> * ) -> * -> * -> * @.
data TypeBXBXXEXXEXX ( x :: ( * -> ( * -> * ) -> * -> * ) -> * -> * -> * ) = TypeBXBXXEXXEXX
instance TypeClass (TypeBXBXXEXXEXX t) where
	type_ = TypeBXBXXEXXEXX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) (KindArrow KindUnit (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( * -> ( * -> * ) -> * -> * ) -> ( * -> * ) -> * @.
data TypeBXBXXEXXEBXXE ( x :: ( * -> ( * -> * ) -> * -> * ) -> ( * -> * ) -> * ) = TypeBXBXXEXXEBXXE
instance TypeClass (TypeBXBXXEXXEBXXE t) where
	type_ = TypeBXBXXEXXEBXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * -> ( * -> * ) -> * ) -> * -> * -> * @.
data TypeBXXBXXEXEXX ( x :: ( * -> * -> ( * -> * ) -> * ) -> * -> * -> * ) = TypeBXXBXXEXEXX
instance TypeClass (TypeBXXBXXEXEXX t) where
	type_ = TypeBXXBXXEXEXX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) (KindArrow KindUnit (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * -> ( * -> * ) -> * ) -> ( * -> * ) -> * @.
data TypeBXXBXXEXEBXXE ( x :: ( * -> * -> ( * -> * ) -> * ) -> ( * -> * ) -> * ) = TypeBXXBXXEXEBXXE
instance TypeClass (TypeBXXBXXEXEBXXE t) where
	type_ = TypeBXXBXXEXEBXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * -> * ) -> * -> * ) -> * -> * -> * @.
data TypeBBXXXEXXEXX ( x :: ( ( * -> * -> * ) -> * -> * ) -> * -> * -> * ) = TypeBBXXXEXXEXX
instance TypeClass (TypeBBXXXEXXEXX t) where
	type_ = TypeBBXXXEXXEXX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( ( * -> * -> * ) -> * -> * ) -> ( * -> * ) -> * @.
data TypeBBXXXEXXEBXXE ( x :: ( ( * -> * -> * ) -> * -> * ) -> ( * -> * ) -> * ) = TypeBBXXXEXXEBXXE
instance TypeClass (TypeBBXXXEXXEBXXE t) where
	type_ = TypeBBXXXEXXEBXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * ) -> * -> * ) -> * -> * -> * @.
data TypeBBBXXEXEXXEXX ( x :: ( ( ( * -> * ) -> * ) -> * -> * ) -> * -> * -> * ) = TypeBBBXXEXEXXEXX
instance TypeClass (TypeBBBXXEXEXXEXX t) where
	type_ = TypeBBBXXEXEXXEXX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * ) -> * -> * ) -> ( * -> * ) -> * @.
data TypeBBBXXEXEXXEBXXE ( x :: ( ( ( * -> * ) -> * ) -> * -> * ) -> ( * -> * ) -> * ) = TypeBBBXXEXEXXEBXXE
instance TypeClass (TypeBBBXXEXEXXEBXXE t) where
	type_ = TypeBBBXXEXEXXEBXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> ( * -> * -> * ) -> * ) -> * -> * -> * @.
data TypeBXBXXXEXEXX ( x :: ( * -> ( * -> * -> * ) -> * ) -> * -> * -> * ) = TypeBXBXXXEXEXX
instance TypeClass (TypeBXBXXXEXEXX t) where
	type_ = TypeBXBXXXEXEXX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( * -> ( * -> * -> * ) -> * ) -> ( * -> * ) -> * @.
data TypeBXBXXXEXEBXXE ( x :: ( * -> ( * -> * -> * ) -> * ) -> ( * -> * ) -> * ) = TypeBXBXXXEXEBXXE
instance TypeClass (TypeBXBXXXEXEBXXE t) where
	type_ = TypeBXBXXXEXEBXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> ( ( * -> * ) -> * ) -> * ) -> * -> * -> * @.
data TypeBXBBXXEXEXEXX ( x :: ( * -> ( ( * -> * ) -> * ) -> * ) -> * -> * -> * ) = TypeBXBBXXEXEXEXX
instance TypeClass (TypeBXBBXXEXEXEXX t) where
	type_ = TypeBXBBXXEXEXEXX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( * -> ( ( * -> * ) -> * ) -> * ) -> ( * -> * ) -> * @.
data TypeBXBBXXEXEXEBXXE ( x :: ( * -> ( ( * -> * ) -> * ) -> * ) -> ( * -> * ) -> * ) = TypeBXBBXXEXEXEBXXE
instance TypeClass (TypeBXBBXXEXEXEBXXE t) where
	type_ = TypeBXBBXXEXEXEBXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * -> * -> * ) -> * ) -> * -> * -> * @.
data TypeBBXXXXEXEXX ( x :: ( ( * -> * -> * -> * ) -> * ) -> * -> * -> * ) = TypeBBXXXXEXEXX
instance TypeClass (TypeBBXXXXEXEXX t) where
	type_ = TypeBBXXXXEXEXX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( ( * -> * -> * -> * ) -> * ) -> ( * -> * ) -> * @.
data TypeBBXXXXEXEBXXE ( x :: ( ( * -> * -> * -> * ) -> * ) -> ( * -> * ) -> * ) = TypeBBXXXXEXEBXXE
instance TypeClass (TypeBBXXXXEXEBXXE t) where
	type_ = TypeBBXXXXEXEBXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * -> * ) -> * ) -> * -> * -> * @.
data TypeBBBXXEXXEXEXX ( x :: ( ( ( * -> * ) -> * -> * ) -> * ) -> * -> * -> * ) = TypeBBBXXEXXEXEXX
instance TypeClass (TypeBBBXXEXXEXEXX t) where
	type_ = TypeBBBXXEXXEXEXX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * -> * ) -> * ) -> ( * -> * ) -> * @.
data TypeBBBXXEXXEXEBXXE ( x :: ( ( ( * -> * ) -> * -> * ) -> * ) -> ( * -> * ) -> * ) = TypeBBBXXEXXEXEBXXE
instance TypeClass (TypeBBBXXEXXEXEBXXE t) where
	type_ = TypeBBBXXEXXEXEBXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> ( * -> * ) -> * ) -> * ) -> * -> * -> * @.
data TypeBBXBXXEXEXEXX ( x :: ( ( * -> ( * -> * ) -> * ) -> * ) -> * -> * -> * ) = TypeBBXBXXEXEXEXX
instance TypeClass (TypeBBXBXXEXEXEXX t) where
	type_ = TypeBBXBXXEXEXEXX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( ( * -> ( * -> * ) -> * ) -> * ) -> ( * -> * ) -> * @.
data TypeBBXBXXEXEXEBXXE ( x :: ( ( * -> ( * -> * ) -> * ) -> * ) -> ( * -> * ) -> * ) = TypeBBXBXXEXEXEBXXE
instance TypeClass (TypeBBXBXXEXEXEBXXE t) where
	type_ = TypeBBXBXXEXEXEBXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( ( ( * -> * -> * ) -> * ) -> * ) -> * -> * -> * @.
data TypeBBBXXXEXEXEXX ( x :: ( ( ( * -> * -> * ) -> * ) -> * ) -> * -> * -> * ) = TypeBBBXXXEXEXEXX
instance TypeClass (TypeBBBXXXEXEXEXX t) where
	type_ = TypeBBBXXXEXEXEXX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( ( ( * -> * -> * ) -> * ) -> * ) -> ( * -> * ) -> * @.
data TypeBBBXXXEXEXEBXXE ( x :: ( ( ( * -> * -> * ) -> * ) -> * ) -> ( * -> * ) -> * ) = TypeBBBXXXEXEXEBXXE
instance TypeClass (TypeBBBXXXEXEXEBXXE t) where
	type_ = TypeBBBXXXEXEXEBXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * -> * -> * @.
data TypeBBBBXXEXEXEXEXX ( x :: ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * -> * -> * ) = TypeBBBBXXEXEXEXEXX
instance TypeClass (TypeBBBBXXEXEXEXEXX t) where
	type_ = TypeBBBBXXEXEXEXEXX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> ( * -> * ) -> * @.
data TypeBBBBXXEXEXEXEBXXE ( x :: ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> ( * -> * ) -> * ) = TypeBBBBXXEXEXEXEBXXE
instance TypeClass (TypeBBBBXXEXEXEXEBXXE t) where
	type_ = TypeBBBBXXEXEXEXEBXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( * -> * -> * -> * -> * ) -> * -> * @.
data TypeXBXXXXXEX ( x :: * -> ( * -> * -> * -> * -> * ) -> * -> * ) = TypeXBXXXXXEX
instance TypeClass (TypeXBXXXXXEX t) where
	type_ = TypeXBXXXXXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ * -> ( ( * -> * ) -> * -> * -> * ) -> * -> * @.
data TypeXBBXXEXXXEX ( x :: * -> ( ( * -> * ) -> * -> * -> * ) -> * -> * ) = TypeXBBXXEXXXEX
instance TypeClass (TypeXBBXXEXXXEX t) where
	type_ = TypeXBBXXEXXXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ * -> ( ( * -> * ) -> ( * -> * ) -> * ) -> * -> * @.
data TypeXBBXXEBXXEXEX ( x :: * -> ( ( * -> * ) -> ( * -> * ) -> * ) -> * -> * ) = TypeXBBXXEBXXEXEX
instance TypeClass (TypeXBBXXEBXXEXEX t) where
	type_ = TypeXBBXXEBXXEXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ * -> ( * -> ( * -> * ) -> * -> * ) -> * -> * @.
data TypeXBXBXXEXXEX ( x :: * -> ( * -> ( * -> * ) -> * -> * ) -> * -> * ) = TypeXBXBXXEXXEX
instance TypeClass (TypeXBXBXXEXXEX t) where
	type_ = TypeXBXBXXEXXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ * -> ( * -> * -> ( * -> * ) -> * ) -> * -> * @.
data TypeXBXXBXXEXEX ( x :: * -> ( * -> * -> ( * -> * ) -> * ) -> * -> * ) = TypeXBXXBXXEXEX
instance TypeClass (TypeXBXXBXXEXEX t) where
	type_ = TypeXBXXBXXEXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ * -> ( ( * -> * -> * ) -> * -> * ) -> * -> * @.
data TypeXBBXXXEXXEX ( x :: * -> ( ( * -> * -> * ) -> * -> * ) -> * -> * ) = TypeXBBXXXEXXEX
instance TypeClass (TypeXBBXXXEXXEX t) where
	type_ = TypeXBBXXXEXXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ * -> ( ( ( * -> * ) -> * ) -> * -> * ) -> * -> * @.
data TypeXBBBXXEXEXXEX ( x :: * -> ( ( ( * -> * ) -> * ) -> * -> * ) -> * -> * ) = TypeXBBBXXEXEXXEX
instance TypeClass (TypeXBBBXXEXEXXEX t) where
	type_ = TypeXBBBXXEXEXXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ * -> ( * -> ( * -> * -> * ) -> * ) -> * -> * @.
data TypeXBXBXXXEXEX ( x :: * -> ( * -> ( * -> * -> * ) -> * ) -> * -> * ) = TypeXBXBXXXEXEX
instance TypeClass (TypeXBXBXXXEXEX t) where
	type_ = TypeXBXBXXXEXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ * -> ( * -> ( ( * -> * ) -> * ) -> * ) -> * -> * @.
data TypeXBXBBXXEXEXEX ( x :: * -> ( * -> ( ( * -> * ) -> * ) -> * ) -> * -> * ) = TypeXBXBBXXEXEXEX
instance TypeClass (TypeXBXBBXXEXEXEX t) where
	type_ = TypeXBXBBXXEXEXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ * -> ( ( * -> * -> * -> * ) -> * ) -> * -> * @.
data TypeXBBXXXXEXEX ( x :: * -> ( ( * -> * -> * -> * ) -> * ) -> * -> * ) = TypeXBBXXXXEXEX
instance TypeClass (TypeXBBXXXXEXEX t) where
	type_ = TypeXBBXXXXEXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ * -> ( ( ( * -> * ) -> * -> * ) -> * ) -> * -> * @.
data TypeXBBBXXEXXEXEX ( x :: * -> ( ( ( * -> * ) -> * -> * ) -> * ) -> * -> * ) = TypeXBBBXXEXXEXEX
instance TypeClass (TypeXBBBXXEXXEXEX t) where
	type_ = TypeXBBBXXEXXEXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ * -> ( ( * -> ( * -> * ) -> * ) -> * ) -> * -> * @.
data TypeXBBXBXXEXEXEX ( x :: * -> ( ( * -> ( * -> * ) -> * ) -> * ) -> * -> * ) = TypeXBBXBXXEXEXEX
instance TypeClass (TypeXBBXBXXEXEXEX t) where
	type_ = TypeXBBXBXXEXEXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ * -> ( ( ( * -> * -> * ) -> * ) -> * ) -> * -> * @.
data TypeXBBBXXXEXEXEX ( x :: * -> ( ( ( * -> * -> * ) -> * ) -> * ) -> * -> * ) = TypeXBBBXXXEXEXEX
instance TypeClass (TypeXBBBXXXEXEXEX t) where
	type_ = TypeXBBBXXXEXEXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ * -> ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * -> * @.
data TypeXBBBBXXEXEXEXEX ( x :: * -> ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * -> * ) = TypeXBBBBXXEXEXEXEX
instance TypeClass (TypeXBBBBXXEXEXEXEX t) where
	type_ = TypeXBBBBXXEXEXEXEX
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit))
-- | An encapsulation of type with a kind @ * -> * -> ( * -> * -> * -> * -> * ) -> * @.
data TypeXXBXXXXXE ( x :: * -> * -> ( * -> * -> * -> * -> * ) -> * ) = TypeXXBXXXXXE
instance TypeClass (TypeXXBXXXXXE t) where
	type_ = TypeXXBXXXXXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit))
-- | An encapsulation of type with a kind @ * -> * -> ( ( * -> * ) -> * -> * -> * ) -> * @.
data TypeXXBBXXEXXXE ( x :: * -> * -> ( ( * -> * ) -> * -> * -> * ) -> * ) = TypeXXBBXXEXXXE
instance TypeClass (TypeXXBBXXEXXXE t) where
	type_ = TypeXXBBXXEXXXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit))
-- | An encapsulation of type with a kind @ * -> * -> ( ( * -> * ) -> ( * -> * ) -> * ) -> * @.
data TypeXXBBXXEBXXEXE ( x :: * -> * -> ( ( * -> * ) -> ( * -> * ) -> * ) -> * ) = TypeXXBBXXEBXXEXE
instance TypeClass (TypeXXBBXXEBXXEXE t) where
	type_ = TypeXXBBXXEBXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit))
-- | An encapsulation of type with a kind @ * -> * -> ( * -> ( * -> * ) -> * -> * ) -> * @.
data TypeXXBXBXXEXXE ( x :: * -> * -> ( * -> ( * -> * ) -> * -> * ) -> * ) = TypeXXBXBXXEXXE
instance TypeClass (TypeXXBXBXXEXXE t) where
	type_ = TypeXXBXBXXEXXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit))
-- | An encapsulation of type with a kind @ * -> * -> ( * -> * -> ( * -> * ) -> * ) -> * @.
data TypeXXBXXBXXEXE ( x :: * -> * -> ( * -> * -> ( * -> * ) -> * ) -> * ) = TypeXXBXXBXXEXE
instance TypeClass (TypeXXBXXBXXEXE t) where
	type_ = TypeXXBXXBXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit))
-- | An encapsulation of type with a kind @ * -> * -> ( ( * -> * -> * ) -> * -> * ) -> * @.
data TypeXXBBXXXEXXE ( x :: * -> * -> ( ( * -> * -> * ) -> * -> * ) -> * ) = TypeXXBBXXXEXXE
instance TypeClass (TypeXXBBXXXEXXE t) where
	type_ = TypeXXBBXXXEXXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit))
-- | An encapsulation of type with a kind @ * -> * -> ( ( ( * -> * ) -> * ) -> * -> * ) -> * @.
data TypeXXBBBXXEXEXXE ( x :: * -> * -> ( ( ( * -> * ) -> * ) -> * -> * ) -> * ) = TypeXXBBBXXEXEXXE
instance TypeClass (TypeXXBBBXXEXEXXE t) where
	type_ = TypeXXBBBXXEXEXXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit))
-- | An encapsulation of type with a kind @ * -> * -> ( * -> ( * -> * -> * ) -> * ) -> * @.
data TypeXXBXBXXXEXE ( x :: * -> * -> ( * -> ( * -> * -> * ) -> * ) -> * ) = TypeXXBXBXXXEXE
instance TypeClass (TypeXXBXBXXXEXE t) where
	type_ = TypeXXBXBXXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit))
-- | An encapsulation of type with a kind @ * -> * -> ( * -> ( ( * -> * ) -> * ) -> * ) -> * @.
data TypeXXBXBBXXEXEXE ( x :: * -> * -> ( * -> ( ( * -> * ) -> * ) -> * ) -> * ) = TypeXXBXBBXXEXEXE
instance TypeClass (TypeXXBXBBXXEXEXE t) where
	type_ = TypeXXBXBBXXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit))
-- | An encapsulation of type with a kind @ * -> * -> ( ( * -> * -> * -> * ) -> * ) -> * @.
data TypeXXBBXXXXEXE ( x :: * -> * -> ( ( * -> * -> * -> * ) -> * ) -> * ) = TypeXXBBXXXXEXE
instance TypeClass (TypeXXBBXXXXEXE t) where
	type_ = TypeXXBBXXXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ * -> * -> ( ( ( * -> * ) -> * -> * ) -> * ) -> * @.
data TypeXXBBBXXEXXEXE ( x :: * -> * -> ( ( ( * -> * ) -> * -> * ) -> * ) -> * ) = TypeXXBBBXXEXXEXE
instance TypeClass (TypeXXBBBXXEXXEXE t) where
	type_ = TypeXXBBBXXEXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ * -> * -> ( ( * -> ( * -> * ) -> * ) -> * ) -> * @.
data TypeXXBBXBXXEXEXE ( x :: * -> * -> ( ( * -> ( * -> * ) -> * ) -> * ) -> * ) = TypeXXBBXBXXEXEXE
instance TypeClass (TypeXXBBXBXXEXEXE t) where
	type_ = TypeXXBBXBXXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ * -> * -> ( ( ( * -> * -> * ) -> * ) -> * ) -> * @.
data TypeXXBBBXXXEXEXE ( x :: * -> * -> ( ( ( * -> * -> * ) -> * ) -> * ) -> * ) = TypeXXBBBXXXEXEXE
instance TypeClass (TypeXXBBBXXXEXEXE t) where
	type_ = TypeXXBBBXXXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ * -> * -> ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeXXBBBBXXEXEXEXE ( x :: * -> * -> ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeXXBBBBXXEXEXEXE
instance TypeClass (TypeXXBBBBXXEXEXEXE t) where
	type_ = TypeXXBBBBXXEXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) KindUnit))
-- | An encapsulation of type with a kind @ ( * -> * -> * -> * -> * -> * ) -> * -> * @.
data TypeBXXXXXXEX ( x :: ( * -> * -> * -> * -> * -> * ) -> * -> * ) = TypeBXXXXXXEX
instance TypeClass (TypeBXXXXXXEX t) where
	type_ = TypeBXXXXXXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * -> * -> * -> * ) -> * -> * @.
data TypeBBXXEXXXXEX ( x :: ( ( * -> * ) -> * -> * -> * -> * ) -> * -> * ) = TypeBBXXEXXXXEX
instance TypeClass (TypeBBXXEXXXXEX t) where
	type_ = TypeBBXXEXXXXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> ( * -> * ) -> * -> * ) -> * -> * @.
data TypeBBXXEBXXEXXEX ( x :: ( ( * -> * ) -> ( * -> * ) -> * -> * ) -> * -> * ) = TypeBBXXEBXXEXXEX
instance TypeClass (TypeBBXXEBXXEXXEX t) where
	type_ = TypeBBXXEBXXEXXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * -> ( * -> * ) -> * ) -> * -> * @.
data TypeBBXXEXBXXEXEX ( x :: ( ( * -> * ) -> * -> ( * -> * ) -> * ) -> * -> * ) = TypeBBXXEXBXXEXEX
instance TypeClass (TypeBBXXEXBXXEXEX t) where
	type_ = TypeBBXXEXBXXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> ( * -> * -> * ) -> * ) -> * -> * @.
data TypeBBXXEBXXXEXEX ( x :: ( ( * -> * ) -> ( * -> * -> * ) -> * ) -> * -> * ) = TypeBBXXEBXXXEXEX
instance TypeClass (TypeBBXXEBXXXEXEX t) where
	type_ = TypeBBXXEBXXXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> ( ( * -> * ) -> * ) -> * ) -> * -> * @.
data TypeBBXXEBBXXEXEXEX ( x :: ( ( * -> * ) -> ( ( * -> * ) -> * ) -> * ) -> * -> * ) = TypeBBXXEBBXXEXEXEX
instance TypeClass (TypeBBXXEBBXXEXEXEX t) where
	type_ = TypeBBXXEBBXXEXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( * -> ( * -> * ) -> * -> * -> * ) -> * -> * @.
data TypeBXBXXEXXXEX ( x :: ( * -> ( * -> * ) -> * -> * -> * ) -> * -> * ) = TypeBXBXXEXXXEX
instance TypeClass (TypeBXBXXEXXXEX t) where
	type_ = TypeBXBXXEXXXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( * -> ( * -> * ) -> ( * -> * ) -> * ) -> * -> * @.
data TypeBXBXXEBXXEXEX ( x :: ( * -> ( * -> * ) -> ( * -> * ) -> * ) -> * -> * ) = TypeBXBXXEBXXEXEX
instance TypeClass (TypeBXBXXEBXXEXEX t) where
	type_ = TypeBXBXXEBXXEXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * -> ( * -> * ) -> * -> * ) -> * -> * @.
data TypeBXXBXXEXXEX ( x :: ( * -> * -> ( * -> * ) -> * -> * ) -> * -> * ) = TypeBXXBXXEXXEX
instance TypeClass (TypeBXXBXXEXXEX t) where
	type_ = TypeBXXBXXEXXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * -> * -> ( * -> * ) -> * ) -> * -> * @.
data TypeBXXXBXXEXEX ( x :: ( * -> * -> * -> ( * -> * ) -> * ) -> * -> * ) = TypeBXXXBXXEXEX
instance TypeClass (TypeBXXXBXXEXEX t) where
	type_ = TypeBXXXBXXEXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * -> * ) -> * -> * -> * ) -> * -> * @.
data TypeBBXXXEXXXEX ( x :: ( ( * -> * -> * ) -> * -> * -> * ) -> * -> * ) = TypeBBXXXEXXXEX
instance TypeClass (TypeBBXXXEXXXEX t) where
	type_ = TypeBBXXXEXXXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * -> * ) -> ( * -> * ) -> * ) -> * -> * @.
data TypeBBXXXEBXXEXEX ( x :: ( ( * -> * -> * ) -> ( * -> * ) -> * ) -> * -> * ) = TypeBBXXXEBXXEXEX
instance TypeClass (TypeBBXXXEBXXEXEX t) where
	type_ = TypeBBXXXEBXXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * ) -> * -> * -> * ) -> * -> * @.
data TypeBBBXXEXEXXXEX ( x :: ( ( ( * -> * ) -> * ) -> * -> * -> * ) -> * -> * ) = TypeBBBXXEXEXXXEX
instance TypeClass (TypeBBBXXEXEXXXEX t) where
	type_ = TypeBBBXXEXEXXXEX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * ) -> ( * -> * ) -> * ) -> * -> * @.
data TypeBBBXXEXEBXXEXEX ( x :: ( ( ( * -> * ) -> * ) -> ( * -> * ) -> * ) -> * -> * ) = TypeBBBXXEXEBXXEXEX
instance TypeClass (TypeBBBXXEXEBXXEXEX t) where
	type_ = TypeBBBXXEXEBXXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( * -> ( * -> * -> * ) -> * -> * ) -> * -> * @.
data TypeBXBXXXEXXEX ( x :: ( * -> ( * -> * -> * ) -> * -> * ) -> * -> * ) = TypeBXBXXXEXXEX
instance TypeClass (TypeBXBXXXEXXEX t) where
	type_ = TypeBXBXXXEXXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( * -> ( ( * -> * ) -> * ) -> * -> * ) -> * -> * @.
data TypeBXBBXXEXEXXEX ( x :: ( * -> ( ( * -> * ) -> * ) -> * -> * ) -> * -> * ) = TypeBXBBXXEXEXXEX
instance TypeClass (TypeBXBBXXEXEXXEX t) where
	type_ = TypeBXBBXXEXEXXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * -> ( * -> * -> * ) -> * ) -> * -> * @.
data TypeBXXBXXXEXEX ( x :: ( * -> * -> ( * -> * -> * ) -> * ) -> * -> * ) = TypeBXXBXXXEXEX
instance TypeClass (TypeBXXBXXXEXEX t) where
	type_ = TypeBXXBXXXEXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * -> ( ( * -> * ) -> * ) -> * ) -> * -> * @.
data TypeBXXBBXXEXEXEX ( x :: ( * -> * -> ( ( * -> * ) -> * ) -> * ) -> * -> * ) = TypeBXXBBXXEXEXEX
instance TypeClass (TypeBXXBBXXEXEXEX t) where
	type_ = TypeBXXBBXXEXEXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * -> * -> * ) -> * -> * ) -> * -> * @.
data TypeBBXXXXEXXEX ( x :: ( ( * -> * -> * -> * ) -> * -> * ) -> * -> * ) = TypeBBXXXXEXXEX
instance TypeClass (TypeBBXXXXEXXEX t) where
	type_ = TypeBBXXXXEXXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * -> * ) -> * -> * ) -> * -> * @.
data TypeBBBXXEXXEXXEX ( x :: ( ( ( * -> * ) -> * -> * ) -> * -> * ) -> * -> * ) = TypeBBBXXEXXEXXEX
instance TypeClass (TypeBBBXXEXXEXXEX t) where
	type_ = TypeBBBXXEXXEXXEX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> ( * -> * ) -> * ) -> * -> * ) -> * -> * @.
data TypeBBXBXXEXEXXEX ( x :: ( ( * -> ( * -> * ) -> * ) -> * -> * ) -> * -> * ) = TypeBBXBXXEXEXXEX
instance TypeClass (TypeBBXBXXEXEXXEX t) where
	type_ = TypeBBXBXXEXEXXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( ( * -> * -> * ) -> * ) -> * -> * ) -> * -> * @.
data TypeBBBXXXEXEXXEX ( x :: ( ( ( * -> * -> * ) -> * ) -> * -> * ) -> * -> * ) = TypeBBBXXXEXEXXEX
instance TypeClass (TypeBBBXXXEXEXXEX t) where
	type_ = TypeBBBXXXEXEXXEX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * ) -> * ) -> * ) -> * -> * ) -> * -> * @.
data TypeBBBBXXEXEXEXXEX ( x :: ( ( ( ( * -> * ) -> * ) -> * ) -> * -> * ) -> * -> * ) = TypeBBBBXXEXEXEXXEX
instance TypeClass (TypeBBBBXXEXEXEXXEX t) where
	type_ = TypeBBBBXXEXEXEXXEX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( * -> ( * -> * -> * -> * ) -> * ) -> * -> * @.
data TypeBXBXXXXEXEX ( x :: ( * -> ( * -> * -> * -> * ) -> * ) -> * -> * ) = TypeBXBXXXXEXEX
instance TypeClass (TypeBXBXXXXEXEX t) where
	type_ = TypeBXBXXXXEXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( * -> ( ( * -> * ) -> * -> * ) -> * ) -> * -> * @.
data TypeBXBBXXEXXEXEX ( x :: ( * -> ( ( * -> * ) -> * -> * ) -> * ) -> * -> * ) = TypeBXBBXXEXXEXEX
instance TypeClass (TypeBXBBXXEXXEXEX t) where
	type_ = TypeBXBBXXEXXEXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( * -> ( * -> ( * -> * ) -> * ) -> * ) -> * -> * @.
data TypeBXBXBXXEXEXEX ( x :: ( * -> ( * -> ( * -> * ) -> * ) -> * ) -> * -> * ) = TypeBXBXBXXEXEXEX
instance TypeClass (TypeBXBXBXXEXEXEX t) where
	type_ = TypeBXBXBXXEXEXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( * -> ( ( * -> * -> * ) -> * ) -> * ) -> * -> * @.
data TypeBXBBXXXEXEXEX ( x :: ( * -> ( ( * -> * -> * ) -> * ) -> * ) -> * -> * ) = TypeBXBBXXXEXEXEX
instance TypeClass (TypeBXBBXXXEXEXEX t) where
	type_ = TypeBXBBXXXEXEXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( * -> ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * -> * @.
data TypeBXBBBXXEXEXEXEX ( x :: ( * -> ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * -> * ) = TypeBXBBBXXEXEXEXEX
instance TypeClass (TypeBXBBBXXEXEXEXEX t) where
	type_ = TypeBXBBBXXEXEXEXEX
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * -> * -> * -> * ) -> * ) -> * -> * @.
data TypeBBXXXXXEXEX ( x :: ( ( * -> * -> * -> * -> * ) -> * ) -> * -> * ) = TypeBBXXXXXEXEX
instance TypeClass (TypeBBXXXXXEXEX t) where
	type_ = TypeBBXXXXXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * -> * -> * ) -> * ) -> * -> * @.
data TypeBBBXXEXXXEXEX ( x :: ( ( ( * -> * ) -> * -> * -> * ) -> * ) -> * -> * ) = TypeBBBXXEXXXEXEX
instance TypeClass (TypeBBBXXEXXXEXEX t) where
	type_ = TypeBBBXXEXXXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> ( * -> * ) -> * ) -> * ) -> * -> * @.
data TypeBBBXXEBXXEXEXEX ( x :: ( ( ( * -> * ) -> ( * -> * ) -> * ) -> * ) -> * -> * ) = TypeBBBXXEBXXEXEXEX
instance TypeClass (TypeBBBXXEBXXEXEXEX t) where
	type_ = TypeBBBXXEBXXEXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> ( * -> * ) -> * -> * ) -> * ) -> * -> * @.
data TypeBBXBXXEXXEXEX ( x :: ( ( * -> ( * -> * ) -> * -> * ) -> * ) -> * -> * ) = TypeBBXBXXEXXEXEX
instance TypeClass (TypeBBXBXXEXXEXEX t) where
	type_ = TypeBBXBXXEXXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> * -> ( * -> * ) -> * ) -> * ) -> * -> * @.
data TypeBBXXBXXEXEXEX ( x :: ( ( * -> * -> ( * -> * ) -> * ) -> * ) -> * -> * ) = TypeBBXXBXXEXEXEX
instance TypeClass (TypeBBXXBXXEXEXEX t) where
	type_ = TypeBBXXBXXEXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( ( * -> * -> * ) -> * -> * ) -> * ) -> * -> * @.
data TypeBBBXXXEXXEXEX ( x :: ( ( ( * -> * -> * ) -> * -> * ) -> * ) -> * -> * ) = TypeBBBXXXEXXEXEX
instance TypeClass (TypeBBBXXXEXXEXEX t) where
	type_ = TypeBBBXXXEXXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * ) -> * ) -> * -> * ) -> * ) -> * -> * @.
data TypeBBBBXXEXEXXEXEX ( x :: ( ( ( ( * -> * ) -> * ) -> * -> * ) -> * ) -> * -> * ) = TypeBBBBXXEXEXXEXEX
instance TypeClass (TypeBBBBXXEXEXXEXEX t) where
	type_ = TypeBBBBXXEXEXXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> ( * -> * -> * ) -> * ) -> * ) -> * -> * @.
data TypeBBXBXXXEXEXEX ( x :: ( ( * -> ( * -> * -> * ) -> * ) -> * ) -> * -> * ) = TypeBBXBXXXEXEXEX
instance TypeClass (TypeBBXBXXXEXEXEX t) where
	type_ = TypeBBXBXXXEXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( * -> ( ( * -> * ) -> * ) -> * ) -> * ) -> * -> * @.
data TypeBBXBBXXEXEXEXEX ( x :: ( ( * -> ( ( * -> * ) -> * ) -> * ) -> * ) -> * -> * ) = TypeBBXBBXXEXEXEXEX
instance TypeClass (TypeBBXBBXXEXEXEXEX t) where
	type_ = TypeBBXBBXXEXEXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( ( * -> * -> * -> * ) -> * ) -> * ) -> * -> * @.
data TypeBBBXXXXEXEXEX ( x :: ( ( ( * -> * -> * -> * ) -> * ) -> * ) -> * -> * ) = TypeBBBXXXXEXEXEX
instance TypeClass (TypeBBBXXXXEXEXEX t) where
	type_ = TypeBBBXXXXEXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * ) -> * -> * ) -> * ) -> * ) -> * -> * @.
data TypeBBBBXXEXXEXEXEX ( x :: ( ( ( ( * -> * ) -> * -> * ) -> * ) -> * ) -> * -> * ) = TypeBBBBXXEXXEXEXEX
instance TypeClass (TypeBBBBXXEXXEXEXEX t) where
	type_ = TypeBBBBXXEXXEXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( ( * -> ( * -> * ) -> * ) -> * ) -> * ) -> * -> * @.
data TypeBBBXBXXEXEXEXEX ( x :: ( ( ( * -> ( * -> * ) -> * ) -> * ) -> * ) -> * -> * ) = TypeBBBXBXXEXEXEXEX
instance TypeClass (TypeBBBXBXXEXEXEXEX t) where
	type_ = TypeBBBXBXXEXEXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * -> * ) -> * ) -> * ) -> * ) -> * -> * @.
data TypeBBBBXXXEXEXEXEX ( x :: ( ( ( ( * -> * -> * ) -> * ) -> * ) -> * ) -> * -> * ) = TypeBBBBXXXEXEXEXEX
instance TypeClass (TypeBBBBXXXEXEXEXEX t) where
	type_ = TypeBBBBXXXEXEXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ ( ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) -> * -> * @.
data TypeBBBBBXXEXEXEXEXEX ( x :: ( ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) -> * -> * ) = TypeBBBBBXXEXEXEXEXEX
instance TypeClass (TypeBBBBBXXEXEXEXEXEX t) where
	type_ = TypeBBBBBXXEXEXEXEXEX
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)
-- | An encapsulation of type with a kind @ * -> ( * -> * -> * -> * -> * -> * ) -> * @.
data TypeXBXXXXXXE ( x :: * -> ( * -> * -> * -> * -> * -> * ) -> * ) = TypeXBXXXXXXE
instance TypeClass (TypeXBXXXXXXE t) where
	type_ = TypeXBXXXXXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( * -> * ) -> * -> * -> * -> * ) -> * @.
data TypeXBBXXEXXXXE ( x :: * -> ( ( * -> * ) -> * -> * -> * -> * ) -> * ) = TypeXBBXXEXXXXE
instance TypeClass (TypeXBBXXEXXXXE t) where
	type_ = TypeXBBXXEXXXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( * -> * ) -> ( * -> * ) -> * -> * ) -> * @.
data TypeXBBXXEBXXEXXE ( x :: * -> ( ( * -> * ) -> ( * -> * ) -> * -> * ) -> * ) = TypeXBBXXEBXXEXXE
instance TypeClass (TypeXBBXXEBXXEXXE t) where
	type_ = TypeXBBXXEBXXEXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( * -> * ) -> * -> ( * -> * ) -> * ) -> * @.
data TypeXBBXXEXBXXEXE ( x :: * -> ( ( * -> * ) -> * -> ( * -> * ) -> * ) -> * ) = TypeXBBXXEXBXXEXE
instance TypeClass (TypeXBBXXEXBXXEXE t) where
	type_ = TypeXBBXXEXBXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( * -> * ) -> ( * -> * -> * ) -> * ) -> * @.
data TypeXBBXXEBXXXEXE ( x :: * -> ( ( * -> * ) -> ( * -> * -> * ) -> * ) -> * ) = TypeXBBXXEBXXXEXE
instance TypeClass (TypeXBBXXEBXXXEXE t) where
	type_ = TypeXBBXXEBXXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( * -> * ) -> ( ( * -> * ) -> * ) -> * ) -> * @.
data TypeXBBXXEBBXXEXEXE ( x :: * -> ( ( * -> * ) -> ( ( * -> * ) -> * ) -> * ) -> * ) = TypeXBBXXEBBXXEXEXE
instance TypeClass (TypeXBBXXEBBXXEXEXE t) where
	type_ = TypeXBBXXEBBXXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( * -> ( * -> * ) -> * -> * -> * ) -> * @.
data TypeXBXBXXEXXXE ( x :: * -> ( * -> ( * -> * ) -> * -> * -> * ) -> * ) = TypeXBXBXXEXXXE
instance TypeClass (TypeXBXBXXEXXXE t) where
	type_ = TypeXBXBXXEXXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( * -> ( * -> * ) -> ( * -> * ) -> * ) -> * @.
data TypeXBXBXXEBXXEXE ( x :: * -> ( * -> ( * -> * ) -> ( * -> * ) -> * ) -> * ) = TypeXBXBXXEBXXEXE
instance TypeClass (TypeXBXBXXEBXXEXE t) where
	type_ = TypeXBXBXXEBXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( * -> * -> ( * -> * ) -> * -> * ) -> * @.
data TypeXBXXBXXEXXE ( x :: * -> ( * -> * -> ( * -> * ) -> * -> * ) -> * ) = TypeXBXXBXXEXXE
instance TypeClass (TypeXBXXBXXEXXE t) where
	type_ = TypeXBXXBXXEXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( * -> * -> * -> ( * -> * ) -> * ) -> * @.
data TypeXBXXXBXXEXE ( x :: * -> ( * -> * -> * -> ( * -> * ) -> * ) -> * ) = TypeXBXXXBXXEXE
instance TypeClass (TypeXBXXXBXXEXE t) where
	type_ = TypeXBXXXBXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( * -> * -> * ) -> * -> * -> * ) -> * @.
data TypeXBBXXXEXXXE ( x :: * -> ( ( * -> * -> * ) -> * -> * -> * ) -> * ) = TypeXBBXXXEXXXE
instance TypeClass (TypeXBBXXXEXXXE t) where
	type_ = TypeXBBXXXEXXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( * -> * -> * ) -> ( * -> * ) -> * ) -> * @.
data TypeXBBXXXEBXXEXE ( x :: * -> ( ( * -> * -> * ) -> ( * -> * ) -> * ) -> * ) = TypeXBBXXXEBXXEXE
instance TypeClass (TypeXBBXXXEBXXEXE t) where
	type_ = TypeXBBXXXEBXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( ( * -> * ) -> * ) -> * -> * -> * ) -> * @.
data TypeXBBBXXEXEXXXE ( x :: * -> ( ( ( * -> * ) -> * ) -> * -> * -> * ) -> * ) = TypeXBBBXXEXEXXXE
instance TypeClass (TypeXBBBXXEXEXXXE t) where
	type_ = TypeXBBBXXEXEXXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( ( * -> * ) -> * ) -> ( * -> * ) -> * ) -> * @.
data TypeXBBBXXEXEBXXEXE ( x :: * -> ( ( ( * -> * ) -> * ) -> ( * -> * ) -> * ) -> * ) = TypeXBBBXXEXEBXXEXE
instance TypeClass (TypeXBBBXXEXEBXXEXE t) where
	type_ = TypeXBBBXXEXEBXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( * -> ( * -> * -> * ) -> * -> * ) -> * @.
data TypeXBXBXXXEXXE ( x :: * -> ( * -> ( * -> * -> * ) -> * -> * ) -> * ) = TypeXBXBXXXEXXE
instance TypeClass (TypeXBXBXXXEXXE t) where
	type_ = TypeXBXBXXXEXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( * -> ( ( * -> * ) -> * ) -> * -> * ) -> * @.
data TypeXBXBBXXEXEXXE ( x :: * -> ( * -> ( ( * -> * ) -> * ) -> * -> * ) -> * ) = TypeXBXBBXXEXEXXE
instance TypeClass (TypeXBXBBXXEXEXXE t) where
	type_ = TypeXBXBBXXEXEXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit))) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( * -> * -> ( * -> * -> * ) -> * ) -> * @.
data TypeXBXXBXXXEXE ( x :: * -> ( * -> * -> ( * -> * -> * ) -> * ) -> * ) = TypeXBXXBXXXEXE
instance TypeClass (TypeXBXXBXXXEXE t) where
	type_ = TypeXBXXBXXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( * -> * -> ( ( * -> * ) -> * ) -> * ) -> * @.
data TypeXBXXBBXXEXEXE ( x :: * -> ( * -> * -> ( ( * -> * ) -> * ) -> * ) -> * ) = TypeXBXXBBXXEXEXE
instance TypeClass (TypeXBXXBBXXEXEXE t) where
	type_ = TypeXBXXBBXXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( * -> * -> * -> * ) -> * -> * ) -> * @.
data TypeXBBXXXXEXXE ( x :: * -> ( ( * -> * -> * -> * ) -> * -> * ) -> * ) = TypeXBBXXXXEXXE
instance TypeClass (TypeXBBXXXXEXXE t) where
	type_ = TypeXBBXXXXEXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( ( * -> * ) -> * -> * ) -> * -> * ) -> * @.
data TypeXBBBXXEXXEXXE ( x :: * -> ( ( ( * -> * ) -> * -> * ) -> * -> * ) -> * ) = TypeXBBBXXEXXEXXE
instance TypeClass (TypeXBBBXXEXXEXXE t) where
	type_ = TypeXBBBXXEXXEXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( * -> ( * -> * ) -> * ) -> * -> * ) -> * @.
data TypeXBBXBXXEXEXXE ( x :: * -> ( ( * -> ( * -> * ) -> * ) -> * -> * ) -> * ) = TypeXBBXBXXEXEXXE
instance TypeClass (TypeXBBXBXXEXEXXE t) where
	type_ = TypeXBBXBXXEXEXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( ( * -> * -> * ) -> * ) -> * -> * ) -> * @.
data TypeXBBBXXXEXEXXE ( x :: * -> ( ( ( * -> * -> * ) -> * ) -> * -> * ) -> * ) = TypeXBBBXXXEXEXXE
instance TypeClass (TypeXBBBXXXEXEXXE t) where
	type_ = TypeXBBBXXXEXEXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( ( ( * -> * ) -> * ) -> * ) -> * -> * ) -> * @.
data TypeXBBBBXXEXEXEXXE ( x :: * -> ( ( ( ( * -> * ) -> * ) -> * ) -> * -> * ) -> * ) = TypeXBBBBXXEXEXEXXE
instance TypeClass (TypeXBBBBXXEXEXEXXE t) where
	type_ = TypeXBBBBXXEXEXEXXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( * -> ( * -> * -> * -> * ) -> * ) -> * @.
data TypeXBXBXXXXEXE ( x :: * -> ( * -> ( * -> * -> * -> * ) -> * ) -> * ) = TypeXBXBXXXXEXE
instance TypeClass (TypeXBXBXXXXEXE t) where
	type_ = TypeXBXBXXXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( * -> ( ( * -> * ) -> * -> * ) -> * ) -> * @.
data TypeXBXBBXXEXXEXE ( x :: * -> ( * -> ( ( * -> * ) -> * -> * ) -> * ) -> * ) = TypeXBXBBXXEXXEXE
instance TypeClass (TypeXBXBBXXEXXEXE t) where
	type_ = TypeXBXBBXXEXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( * -> ( * -> ( * -> * ) -> * ) -> * ) -> * @.
data TypeXBXBXBXXEXEXE ( x :: * -> ( * -> ( * -> ( * -> * ) -> * ) -> * ) -> * ) = TypeXBXBXBXXEXEXE
instance TypeClass (TypeXBXBXBXXEXEXE t) where
	type_ = TypeXBXBXBXXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( * -> ( ( * -> * -> * ) -> * ) -> * ) -> * @.
data TypeXBXBBXXXEXEXE ( x :: * -> ( * -> ( ( * -> * -> * ) -> * ) -> * ) -> * ) = TypeXBXBBXXXEXEXE
instance TypeClass (TypeXBXBBXXXEXEXE t) where
	type_ = TypeXBXBBXXXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( * -> ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeXBXBBBXXEXEXEXE ( x :: * -> ( * -> ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeXBXBBBXXEXEXEXE
instance TypeClass (TypeXBXBBBXXEXEXEXE t) where
	type_ = TypeXBXBBBXXEXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit)) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( * -> * -> * -> * -> * ) -> * ) -> * @.
data TypeXBBXXXXXEXE ( x :: * -> ( ( * -> * -> * -> * -> * ) -> * ) -> * ) = TypeXBBXXXXXEXE
instance TypeClass (TypeXBBXXXXXEXE t) where
	type_ = TypeXBBXXXXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( ( * -> * ) -> * -> * -> * ) -> * ) -> * @.
data TypeXBBBXXEXXXEXE ( x :: * -> ( ( ( * -> * ) -> * -> * -> * ) -> * ) -> * ) = TypeXBBBXXEXXXEXE
instance TypeClass (TypeXBBBXXEXXXEXE t) where
	type_ = TypeXBBBXXEXXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( ( * -> * ) -> ( * -> * ) -> * ) -> * ) -> * @.
data TypeXBBBXXEBXXEXEXE ( x :: * -> ( ( ( * -> * ) -> ( * -> * ) -> * ) -> * ) -> * ) = TypeXBBBXXEBXXEXEXE
instance TypeClass (TypeXBBBXXEBXXEXEXE t) where
	type_ = TypeXBBBXXEBXXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( * -> ( * -> * ) -> * -> * ) -> * ) -> * @.
data TypeXBBXBXXEXXEXE ( x :: * -> ( ( * -> ( * -> * ) -> * -> * ) -> * ) -> * ) = TypeXBBXBXXEXXEXE
instance TypeClass (TypeXBBXBXXEXXEXE t) where
	type_ = TypeXBBXBXXEXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( * -> * -> ( * -> * ) -> * ) -> * ) -> * @.
data TypeXBBXXBXXEXEXE ( x :: * -> ( ( * -> * -> ( * -> * ) -> * ) -> * ) -> * ) = TypeXBBXXBXXEXEXE
instance TypeClass (TypeXBBXXBXXEXEXE t) where
	type_ = TypeXBBXXBXXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( ( * -> * -> * ) -> * -> * ) -> * ) -> * @.
data TypeXBBBXXXEXXEXE ( x :: * -> ( ( ( * -> * -> * ) -> * -> * ) -> * ) -> * ) = TypeXBBBXXXEXXEXE
instance TypeClass (TypeXBBBXXXEXXEXE t) where
	type_ = TypeXBBBXXXEXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( ( ( * -> * ) -> * ) -> * -> * ) -> * ) -> * @.
data TypeXBBBBXXEXEXXEXE ( x :: * -> ( ( ( ( * -> * ) -> * ) -> * -> * ) -> * ) -> * ) = TypeXBBBBXXEXEXXEXE
instance TypeClass (TypeXBBBBXXEXEXXEXE t) where
	type_ = TypeXBBBBXXEXEXXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( * -> ( * -> * -> * ) -> * ) -> * ) -> * @.
data TypeXBBXBXXXEXEXE ( x :: * -> ( ( * -> ( * -> * -> * ) -> * ) -> * ) -> * ) = TypeXBBXBXXXEXEXE
instance TypeClass (TypeXBBXBXXXEXEXE t) where
	type_ = TypeXBBXBXXXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( * -> ( ( * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeXBBXBBXXEXEXEXE ( x :: * -> ( ( * -> ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeXBBXBBXXEXEXEXE
instance TypeClass (TypeXBBXBBXXEXEXEXE t) where
	type_ = TypeXBBXBBXXEXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( ( * -> * -> * -> * ) -> * ) -> * ) -> * @.
data TypeXBBBXXXXEXEXE ( x :: * -> ( ( ( * -> * -> * -> * ) -> * ) -> * ) -> * ) = TypeXBBBXXXXEXEXE
instance TypeClass (TypeXBBBXXXXEXEXE t) where
	type_ = TypeXBBBXXXXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( ( ( * -> * ) -> * -> * ) -> * ) -> * ) -> * @.
data TypeXBBBBXXEXXEXEXE ( x :: * -> ( ( ( ( * -> * ) -> * -> * ) -> * ) -> * ) -> * ) = TypeXBBBBXXEXXEXEXE
instance TypeClass (TypeXBBBBXXEXXEXEXE t) where
	type_ = TypeXBBBBXXEXXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( ( * -> ( * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeXBBBXBXXEXEXEXE ( x :: * -> ( ( ( * -> ( * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeXBBBXBXXEXEXEXE
instance TypeClass (TypeXBBBXBXXEXEXEXE t) where
	type_ = TypeXBBBXBXXEXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( ( ( * -> * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeXBBBBXXXEXEXEXE ( x :: * -> ( ( ( ( * -> * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeXBBBBXXXEXEXEXE
instance TypeClass (TypeXBBBBXXXEXEXEXE t) where
	type_ = TypeXBBBBXXXEXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ * -> ( ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeXBBBBBXXEXEXEXEXE ( x :: * -> ( ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) -> * ) = TypeXBBBBBXXEXEXEXEXE
instance TypeClass (TypeXBBBBBXXEXEXEXEXE t) where
	type_ = TypeXBBBBBXXEXEXEXEXE
	kindOf _ = KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) KindUnit) KindUnit)
-- | An encapsulation of type with a kind @ ( * -> * -> * -> * -> * -> * -> * ) -> * @.
data TypeBXXXXXXXE ( x :: ( * -> * -> * -> * -> * -> * -> * ) -> * ) = TypeBXXXXXXXE
instance TypeClass (TypeBXXXXXXXE t) where
	type_ = TypeBXXXXXXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))))) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * -> * -> * -> * -> * ) -> * @.
data TypeBBXXEXXXXXE ( x :: ( ( * -> * ) -> * -> * -> * -> * -> * ) -> * ) = TypeBBXXEXXXXXE
instance TypeClass (TypeBBXXEXXXXXE t) where
	type_ = TypeBBXXEXXXXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> ( * -> * ) -> * -> * -> * ) -> * @.
data TypeBBXXEBXXEXXXE ( x :: ( ( * -> * ) -> ( * -> * ) -> * -> * -> * ) -> * ) = TypeBBXXEBXXEXXXE
instance TypeClass (TypeBBXXEBXXEXXXE t) where
	type_ = TypeBBXXEBXXEXXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> ( * -> * ) -> ( * -> * ) -> * ) -> * @.
data TypeBBXXEBXXEBXXEXE ( x :: ( ( * -> * ) -> ( * -> * ) -> ( * -> * ) -> * ) -> * ) = TypeBBXXEBXXEBXXEXE
instance TypeClass (TypeBBXXEBXXEBXXEXE t) where
	type_ = TypeBBXXEBXXEBXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * -> ( * -> * ) -> * -> * ) -> * @.
data TypeBBXXEXBXXEXXE ( x :: ( ( * -> * ) -> * -> ( * -> * ) -> * -> * ) -> * ) = TypeBBXXEXBXXEXXE
instance TypeClass (TypeBBXXEXBXXEXXE t) where
	type_ = TypeBBXXEXBXXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * -> * -> ( * -> * ) -> * ) -> * @.
data TypeBBXXEXXBXXEXE ( x :: ( ( * -> * ) -> * -> * -> ( * -> * ) -> * ) -> * ) = TypeBBXXEXXBXXEXE
instance TypeClass (TypeBBXXEXXBXXEXE t) where
	type_ = TypeBBXXEXXBXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> ( * -> * -> * ) -> * -> * ) -> * @.
data TypeBBXXEBXXXEXXE ( x :: ( ( * -> * ) -> ( * -> * -> * ) -> * -> * ) -> * ) = TypeBBXXEBXXXEXXE
instance TypeClass (TypeBBXXEBXXXEXXE t) where
	type_ = TypeBBXXEBXXXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> ( ( * -> * ) -> * ) -> * -> * ) -> * @.
data TypeBBXXEBBXXEXEXXE ( x :: ( ( * -> * ) -> ( ( * -> * ) -> * ) -> * -> * ) -> * ) = TypeBBXXEBBXXEXEXXE
instance TypeClass (TypeBBXXEBBXXEXEXXE t) where
	type_ = TypeBBXXEBBXXEXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * -> ( * -> * -> * ) -> * ) -> * @.
data TypeBBXXEXBXXXEXE ( x :: ( ( * -> * ) -> * -> ( * -> * -> * ) -> * ) -> * ) = TypeBBXXEXBXXXEXE
instance TypeClass (TypeBBXXEXBXXXEXE t) where
	type_ = TypeBBXXEXBXXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> * -> ( ( * -> * ) -> * ) -> * ) -> * @.
data TypeBBXXEXBBXXEXEXE ( x :: ( ( * -> * ) -> * -> ( ( * -> * ) -> * ) -> * ) -> * ) = TypeBBXXEXBBXXEXEXE
instance TypeClass (TypeBBXXEXBBXXEXEXE t) where
	type_ = TypeBBXXEXBBXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> ( * -> * -> * -> * ) -> * ) -> * @.
data TypeBBXXEBXXXXEXE ( x :: ( ( * -> * ) -> ( * -> * -> * -> * ) -> * ) -> * ) = TypeBBXXEBXXXXEXE
instance TypeClass (TypeBBXXEBXXXXEXE t) where
	type_ = TypeBBXXEBXXXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> ( ( * -> * ) -> * -> * ) -> * ) -> * @.
data TypeBBXXEBBXXEXXEXE ( x :: ( ( * -> * ) -> ( ( * -> * ) -> * -> * ) -> * ) -> * ) = TypeBBXXEBBXXEXXEXE
instance TypeClass (TypeBBXXEBBXXEXXEXE t) where
	type_ = TypeBBXXEBBXXEXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> ( * -> ( * -> * ) -> * ) -> * ) -> * @.
data TypeBBXXEBXBXXEXEXE ( x :: ( ( * -> * ) -> ( * -> ( * -> * ) -> * ) -> * ) -> * ) = TypeBBXXEBXBXXEXEXE
instance TypeClass (TypeBBXXEBXBXXEXEXE t) where
	type_ = TypeBBXXEBXBXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> ( ( * -> * -> * ) -> * ) -> * ) -> * @.
data TypeBBXXEBBXXXEXEXE ( x :: ( ( * -> * ) -> ( ( * -> * -> * ) -> * ) -> * ) -> * ) = TypeBBXXEBBXXXEXEXE
instance TypeClass (TypeBBXXEBBXXXEXEXE t) where
	type_ = TypeBBXXEBBXXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * ) -> ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBBXXEBBBXXEXEXEXE ( x :: ( ( * -> * ) -> ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBBXXEBBBXXEXEXEXE
instance TypeClass (TypeBBXXEBBBXXEXEXEXE t) where
	type_ = TypeBBXXEBBBXXEXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( * -> * ) -> * -> * -> * -> * ) -> * @.
data TypeBXBXXEXXXXE ( x :: ( * -> ( * -> * ) -> * -> * -> * -> * ) -> * ) = TypeBXBXXEXXXXE
instance TypeClass (TypeBXBXXEXXXXE t) where
	type_ = TypeBXBXXEXXXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( * -> * ) -> ( * -> * ) -> * -> * ) -> * @.
data TypeBXBXXEBXXEXXE ( x :: ( * -> ( * -> * ) -> ( * -> * ) -> * -> * ) -> * ) = TypeBXBXXEBXXEXXE
instance TypeClass (TypeBXBXXEBXXEXXE t) where
	type_ = TypeBXBXXEBXXEXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( * -> * ) -> * -> ( * -> * ) -> * ) -> * @.
data TypeBXBXXEXBXXEXE ( x :: ( * -> ( * -> * ) -> * -> ( * -> * ) -> * ) -> * ) = TypeBXBXXEXBXXEXE
instance TypeClass (TypeBXBXXEXBXXEXE t) where
	type_ = TypeBXBXXEXBXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( * -> * ) -> ( * -> * -> * ) -> * ) -> * @.
data TypeBXBXXEBXXXEXE ( x :: ( * -> ( * -> * ) -> ( * -> * -> * ) -> * ) -> * ) = TypeBXBXXEBXXXEXE
instance TypeClass (TypeBXBXXEBXXXEXE t) where
	type_ = TypeBXBXXEBXXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( * -> * ) -> ( ( * -> * ) -> * ) -> * ) -> * @.
data TypeBXBXXEBBXXEXEXE ( x :: ( * -> ( * -> * ) -> ( ( * -> * ) -> * ) -> * ) -> * ) = TypeBXBXXEBBXXEXEXE
instance TypeClass (TypeBXBXXEBBXXEXEXE t) where
	type_ = TypeBXBXXEBBXXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> * -> ( * -> * ) -> * -> * -> * ) -> * @.
data TypeBXXBXXEXXXE ( x :: ( * -> * -> ( * -> * ) -> * -> * -> * ) -> * ) = TypeBXXBXXEXXXE
instance TypeClass (TypeBXXBXXEXXXE t) where
	type_ = TypeBXXBXXEXXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> * -> ( * -> * ) -> ( * -> * ) -> * ) -> * @.
data TypeBXXBXXEBXXEXE ( x :: ( * -> * -> ( * -> * ) -> ( * -> * ) -> * ) -> * ) = TypeBXXBXXEBXXEXE
instance TypeClass (TypeBXXBXXEBXXEXE t) where
	type_ = TypeBXXBXXEBXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> * -> * -> ( * -> * ) -> * -> * ) -> * @.
data TypeBXXXBXXEXXE ( x :: ( * -> * -> * -> ( * -> * ) -> * -> * ) -> * ) = TypeBXXXBXXEXXE
instance TypeClass (TypeBXXXBXXEXXE t) where
	type_ = TypeBXXXBXXEXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> * -> * -> * -> ( * -> * ) -> * ) -> * @.
data TypeBXXXXBXXEXE ( x :: ( * -> * -> * -> * -> ( * -> * ) -> * ) -> * ) = TypeBXXXXBXXEXE
instance TypeClass (TypeBXXXXBXXEXE t) where
	type_ = TypeBXXXXBXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))))) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * -> * ) -> * -> * -> * -> * ) -> * @.
data TypeBBXXXEXXXXE ( x :: ( ( * -> * -> * ) -> * -> * -> * -> * ) -> * ) = TypeBBXXXEXXXXE
instance TypeClass (TypeBBXXXEXXXXE t) where
	type_ = TypeBBXXXEXXXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * -> * ) -> ( * -> * ) -> * -> * ) -> * @.
data TypeBBXXXEBXXEXXE ( x :: ( ( * -> * -> * ) -> ( * -> * ) -> * -> * ) -> * ) = TypeBBXXXEBXXEXXE
instance TypeClass (TypeBBXXXEBXXEXXE t) where
	type_ = TypeBBXXXEBXXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * -> * ) -> * -> ( * -> * ) -> * ) -> * @.
data TypeBBXXXEXBXXEXE ( x :: ( ( * -> * -> * ) -> * -> ( * -> * ) -> * ) -> * ) = TypeBBXXXEXBXXEXE
instance TypeClass (TypeBBXXXEXBXXEXE t) where
	type_ = TypeBBXXXEXBXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * -> * ) -> ( * -> * -> * ) -> * ) -> * @.
data TypeBBXXXEBXXXEXE ( x :: ( ( * -> * -> * ) -> ( * -> * -> * ) -> * ) -> * ) = TypeBBXXXEBXXXEXE
instance TypeClass (TypeBBXXXEBXXXEXE t) where
	type_ = TypeBBXXXEBXXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * -> * ) -> ( ( * -> * ) -> * ) -> * ) -> * @.
data TypeBBXXXEBBXXEXEXE ( x :: ( ( * -> * -> * ) -> ( ( * -> * ) -> * ) -> * ) -> * ) = TypeBBXXXEBBXXEXEXE
instance TypeClass (TypeBBXXXEBBXXEXEXE t) where
	type_ = TypeBBXXXEBBXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * ) -> * -> * -> * -> * ) -> * @.
data TypeBBBXXEXEXXXXE ( x :: ( ( ( * -> * ) -> * ) -> * -> * -> * -> * ) -> * ) = TypeBBBXXEXEXXXXE
instance TypeClass (TypeBBBXXEXEXXXXE t) where
	type_ = TypeBBBXXEXEXXXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * ) -> ( * -> * ) -> * -> * ) -> * @.
data TypeBBBXXEXEBXXEXXE ( x :: ( ( ( * -> * ) -> * ) -> ( * -> * ) -> * -> * ) -> * ) = TypeBBBXXEXEBXXEXXE
instance TypeClass (TypeBBBXXEXEBXXEXXE t) where
	type_ = TypeBBBXXEXEBXXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * ) -> * -> ( * -> * ) -> * ) -> * @.
data TypeBBBXXEXEXBXXEXE ( x :: ( ( ( * -> * ) -> * ) -> * -> ( * -> * ) -> * ) -> * ) = TypeBBBXXEXEXBXXEXE
instance TypeClass (TypeBBBXXEXEXBXXEXE t) where
	type_ = TypeBBBXXEXEXBXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * ) -> ( * -> * -> * ) -> * ) -> * @.
data TypeBBBXXEXEBXXXEXE ( x :: ( ( ( * -> * ) -> * ) -> ( * -> * -> * ) -> * ) -> * ) = TypeBBBXXEXEBXXXEXE
instance TypeClass (TypeBBBXXEXEBXXXEXE t) where
	type_ = TypeBBBXXEXEBXXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * ) -> ( ( * -> * ) -> * ) -> * ) -> * @.
data TypeBBBXXEXEBBXXEXEXE ( x :: ( ( ( * -> * ) -> * ) -> ( ( * -> * ) -> * ) -> * ) -> * ) = TypeBBBXXEXEBBXXEXEXE
instance TypeClass (TypeBBBXXEXEBBXXEXEXE t) where
	type_ = TypeBBBXXEXEBBXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( * -> * -> * ) -> * -> * -> * ) -> * @.
data TypeBXBXXXEXXXE ( x :: ( * -> ( * -> * -> * ) -> * -> * -> * ) -> * ) = TypeBXBXXXEXXXE
instance TypeClass (TypeBXBXXXEXXXE t) where
	type_ = TypeBXBXXXEXXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( * -> * -> * ) -> ( * -> * ) -> * ) -> * @.
data TypeBXBXXXEBXXEXE ( x :: ( * -> ( * -> * -> * ) -> ( * -> * ) -> * ) -> * ) = TypeBXBXXXEBXXEXE
instance TypeClass (TypeBXBXXXEBXXEXE t) where
	type_ = TypeBXBXXXEBXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( ( * -> * ) -> * ) -> * -> * -> * ) -> * @.
data TypeBXBBXXEXEXXXE ( x :: ( * -> ( ( * -> * ) -> * ) -> * -> * -> * ) -> * ) = TypeBXBBXXEXEXXXE
instance TypeClass (TypeBXBBXXEXEXXXE t) where
	type_ = TypeBXBBXXEXEXXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( ( * -> * ) -> * ) -> ( * -> * ) -> * ) -> * @.
data TypeBXBBXXEXEBXXEXE ( x :: ( * -> ( ( * -> * ) -> * ) -> ( * -> * ) -> * ) -> * ) = TypeBXBBXXEXEBXXEXE
instance TypeClass (TypeBXBBXXEXEBXXEXE t) where
	type_ = TypeBXBBXXEXEBXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> * -> ( * -> * -> * ) -> * -> * ) -> * @.
data TypeBXXBXXXEXXE ( x :: ( * -> * -> ( * -> * -> * ) -> * -> * ) -> * ) = TypeBXXBXXXEXXE
instance TypeClass (TypeBXXBXXXEXXE t) where
	type_ = TypeBXXBXXXEXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> * -> ( ( * -> * ) -> * ) -> * -> * ) -> * @.
data TypeBXXBBXXEXEXXE ( x :: ( * -> * -> ( ( * -> * ) -> * ) -> * -> * ) -> * ) = TypeBXXBBXXEXEXXE
instance TypeClass (TypeBXXBBXXEXEXXE t) where
	type_ = TypeBXXBBXXEXEXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> * -> * -> ( * -> * -> * ) -> * ) -> * @.
data TypeBXXXBXXXEXE ( x :: ( * -> * -> * -> ( * -> * -> * ) -> * ) -> * ) = TypeBXXXBXXXEXE
instance TypeClass (TypeBXXXBXXXEXE t) where
	type_ = TypeBXXXBXXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> * -> * -> ( ( * -> * ) -> * ) -> * ) -> * @.
data TypeBXXXBBXXEXEXE ( x :: ( * -> * -> * -> ( ( * -> * ) -> * ) -> * ) -> * ) = TypeBXXXBBXXEXEXE
instance TypeClass (TypeBXXXBBXXEXEXE t) where
	type_ = TypeBXXXBBXXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)))) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * -> * -> * ) -> * -> * -> * ) -> * @.
data TypeBBXXXXEXXXE ( x :: ( ( * -> * -> * -> * ) -> * -> * -> * ) -> * ) = TypeBBXXXXEXXXE
instance TypeClass (TypeBBXXXXEXXXE t) where
	type_ = TypeBBXXXXEXXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * -> * -> * ) -> ( * -> * ) -> * ) -> * @.
data TypeBBXXXXEBXXEXE ( x :: ( ( * -> * -> * -> * ) -> ( * -> * ) -> * ) -> * ) = TypeBBXXXXEBXXEXE
instance TypeClass (TypeBBXXXXEBXXEXE t) where
	type_ = TypeBBXXXXEBXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * -> * ) -> * -> * -> * ) -> * @.
data TypeBBBXXEXXEXXXE ( x :: ( ( ( * -> * ) -> * -> * ) -> * -> * -> * ) -> * ) = TypeBBBXXEXXEXXXE
instance TypeClass (TypeBBBXXEXXEXXXE t) where
	type_ = TypeBBBXXEXXEXXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * -> * ) -> ( * -> * ) -> * ) -> * @.
data TypeBBBXXEXXEBXXEXE ( x :: ( ( ( * -> * ) -> * -> * ) -> ( * -> * ) -> * ) -> * ) = TypeBBBXXEXXEBXXEXE
instance TypeClass (TypeBBBXXEXXEBXXEXE t) where
	type_ = TypeBBBXXEXXEBXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> ( * -> * ) -> * ) -> * -> * -> * ) -> * @.
data TypeBBXBXXEXEXXXE ( x :: ( ( * -> ( * -> * ) -> * ) -> * -> * -> * ) -> * ) = TypeBBXBXXEXEXXXE
instance TypeClass (TypeBBXBXXEXEXXXE t) where
	type_ = TypeBBXBXXEXEXXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> ( * -> * ) -> * ) -> ( * -> * ) -> * ) -> * @.
data TypeBBXBXXEXEBXXEXE ( x :: ( ( * -> ( * -> * ) -> * ) -> ( * -> * ) -> * ) -> * ) = TypeBBXBXXEXEBXXEXE
instance TypeClass (TypeBBXBXXEXEBXXEXE t) where
	type_ = TypeBBXBXXEXEBXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * -> * ) -> * ) -> * -> * -> * ) -> * @.
data TypeBBBXXXEXEXXXE ( x :: ( ( ( * -> * -> * ) -> * ) -> * -> * -> * ) -> * ) = TypeBBBXXXEXEXXXE
instance TypeClass (TypeBBBXXXEXEXXXE t) where
	type_ = TypeBBBXXXEXEXXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * -> * ) -> * ) -> ( * -> * ) -> * ) -> * @.
data TypeBBBXXXEXEBXXEXE ( x :: ( ( ( * -> * -> * ) -> * ) -> ( * -> * ) -> * ) -> * ) = TypeBBBXXXEXEBXXEXE
instance TypeClass (TypeBBBXXXEXEBXXEXE t) where
	type_ = TypeBBBXXXEXEBXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * ) -> * ) -> * ) -> * -> * -> * ) -> * @.
data TypeBBBBXXEXEXEXXXE ( x :: ( ( ( ( * -> * ) -> * ) -> * ) -> * -> * -> * ) -> * ) = TypeBBBBXXEXEXEXXXE
instance TypeClass (TypeBBBBXXEXEXEXXXE t) where
	type_ = TypeBBBBXXEXEXEXXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * ) -> * ) -> * ) -> ( * -> * ) -> * ) -> * @.
data TypeBBBBXXEXEXEBXXEXE ( x :: ( ( ( ( * -> * ) -> * ) -> * ) -> ( * -> * ) -> * ) -> * ) = TypeBBBBXXEXEXEBXXEXE
instance TypeClass (TypeBBBBXXEXEXEBXXEXE t) where
	type_ = TypeBBBBXXEXEXEBXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( * -> * -> * -> * ) -> * -> * ) -> * @.
data TypeBXBXXXXEXXE ( x :: ( * -> ( * -> * -> * -> * ) -> * -> * ) -> * ) = TypeBXBXXXXEXXE
instance TypeClass (TypeBXBXXXXEXXE t) where
	type_ = TypeBXBXXXXEXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( ( * -> * ) -> * -> * ) -> * -> * ) -> * @.
data TypeBXBBXXEXXEXXE ( x :: ( * -> ( ( * -> * ) -> * -> * ) -> * -> * ) -> * ) = TypeBXBBXXEXXEXXE
instance TypeClass (TypeBXBBXXEXXEXXE t) where
	type_ = TypeBXBBXXEXXEXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( * -> ( * -> * ) -> * ) -> * -> * ) -> * @.
data TypeBXBXBXXEXEXXE ( x :: ( * -> ( * -> ( * -> * ) -> * ) -> * -> * ) -> * ) = TypeBXBXBXXEXEXXE
instance TypeClass (TypeBXBXBXXEXEXXE t) where
	type_ = TypeBXBXBXXEXEXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( ( * -> * -> * ) -> * ) -> * -> * ) -> * @.
data TypeBXBBXXXEXEXXE ( x :: ( * -> ( ( * -> * -> * ) -> * ) -> * -> * ) -> * ) = TypeBXBBXXXEXEXXE
instance TypeClass (TypeBXBBXXXEXEXXE t) where
	type_ = TypeBXBBXXXEXEXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( ( ( * -> * ) -> * ) -> * ) -> * -> * ) -> * @.
data TypeBXBBBXXEXEXEXXE ( x :: ( * -> ( ( ( * -> * ) -> * ) -> * ) -> * -> * ) -> * ) = TypeBXBBBXXEXEXEXXE
instance TypeClass (TypeBXBBBXXEXEXEXXE t) where
	type_ = TypeBXBBBXXEXEXEXXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> * -> ( * -> * -> * -> * ) -> * ) -> * @.
data TypeBXXBXXXXEXE ( x :: ( * -> * -> ( * -> * -> * -> * ) -> * ) -> * ) = TypeBXXBXXXXEXE
instance TypeClass (TypeBXXBXXXXEXE t) where
	type_ = TypeBXXBXXXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> * -> ( ( * -> * ) -> * -> * ) -> * ) -> * @.
data TypeBXXBBXXEXXEXE ( x :: ( * -> * -> ( ( * -> * ) -> * -> * ) -> * ) -> * ) = TypeBXXBBXXEXXEXE
instance TypeClass (TypeBXXBBXXEXXEXE t) where
	type_ = TypeBXXBBXXEXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> * -> ( * -> ( * -> * ) -> * ) -> * ) -> * @.
data TypeBXXBXBXXEXEXE ( x :: ( * -> * -> ( * -> ( * -> * ) -> * ) -> * ) -> * ) = TypeBXXBXBXXEXEXE
instance TypeClass (TypeBXXBXBXXEXEXE t) where
	type_ = TypeBXXBXBXXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> * -> ( ( * -> * -> * ) -> * ) -> * ) -> * @.
data TypeBXXBBXXXEXEXE ( x :: ( * -> * -> ( ( * -> * -> * ) -> * ) -> * ) -> * ) = TypeBXXBBXXXEXEXE
instance TypeClass (TypeBXXBBXXXEXEXE t) where
	type_ = TypeBXXBBXXXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( * -> * -> ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBXXBBBXXEXEXEXE ( x :: ( * -> * -> ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBXXBBBXXEXEXEXE
instance TypeClass (TypeBXXBBBXXEXEXEXE t) where
	type_ = TypeBXXBBBXXEXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit))) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * -> * -> * -> * ) -> * -> * ) -> * @.
data TypeBBXXXXXEXXE ( x :: ( ( * -> * -> * -> * -> * ) -> * -> * ) -> * ) = TypeBBXXXXXEXXE
instance TypeClass (TypeBBXXXXXEXXE t) where
	type_ = TypeBBXXXXXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) (KindArrow KindUnit KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * -> * -> * ) -> * -> * ) -> * @.
data TypeBBBXXEXXXEXXE ( x :: ( ( ( * -> * ) -> * -> * -> * ) -> * -> * ) -> * ) = TypeBBBXXEXXXEXXE
instance TypeClass (TypeBBBXXEXXXEXXE t) where
	type_ = TypeBBBXXEXXXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> ( * -> * ) -> * ) -> * -> * ) -> * @.
data TypeBBBXXEBXXEXEXXE ( x :: ( ( ( * -> * ) -> ( * -> * ) -> * ) -> * -> * ) -> * ) = TypeBBBXXEBXXEXEXXE
instance TypeClass (TypeBBBXXEBXXEXEXXE t) where
	type_ = TypeBBBXXEBXXEXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> ( * -> * ) -> * -> * ) -> * -> * ) -> * @.
data TypeBBXBXXEXXEXXE ( x :: ( ( * -> ( * -> * ) -> * -> * ) -> * -> * ) -> * ) = TypeBBXBXXEXXEXXE
instance TypeClass (TypeBBXBXXEXXEXXE t) where
	type_ = TypeBBXBXXEXXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * -> ( * -> * ) -> * ) -> * -> * ) -> * @.
data TypeBBXXBXXEXEXXE ( x :: ( ( * -> * -> ( * -> * ) -> * ) -> * -> * ) -> * ) = TypeBBXXBXXEXEXXE
instance TypeClass (TypeBBXXBXXEXEXXE t) where
	type_ = TypeBBXXBXXEXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) (KindArrow KindUnit KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * -> * ) -> * -> * ) -> * -> * ) -> * @.
data TypeBBBXXXEXXEXXE ( x :: ( ( ( * -> * -> * ) -> * -> * ) -> * -> * ) -> * ) = TypeBBBXXXEXXEXXE
instance TypeClass (TypeBBBXXXEXXEXXE t) where
	type_ = TypeBBBXXXEXXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * ) -> * ) -> * -> * ) -> * -> * ) -> * @.
data TypeBBBBXXEXEXXEXXE ( x :: ( ( ( ( * -> * ) -> * ) -> * -> * ) -> * -> * ) -> * ) = TypeBBBBXXEXEXXEXXE
instance TypeClass (TypeBBBBXXEXEXXEXXE t) where
	type_ = TypeBBBBXXEXEXXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> ( * -> * -> * ) -> * ) -> * -> * ) -> * @.
data TypeBBXBXXXEXEXXE ( x :: ( ( * -> ( * -> * -> * ) -> * ) -> * -> * ) -> * ) = TypeBBXBXXXEXEXXE
instance TypeClass (TypeBBXBXXXEXEXXE t) where
	type_ = TypeBBXBXXXEXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> ( ( * -> * ) -> * ) -> * ) -> * -> * ) -> * @.
data TypeBBXBBXXEXEXEXXE ( x :: ( ( * -> ( ( * -> * ) -> * ) -> * ) -> * -> * ) -> * ) = TypeBBXBBXXEXEXEXXE
instance TypeClass (TypeBBXBBXXEXEXEXXE t) where
	type_ = TypeBBXBBXXEXEXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * -> * -> * ) -> * ) -> * -> * ) -> * @.
data TypeBBBXXXXEXEXXE ( x :: ( ( ( * -> * -> * -> * ) -> * ) -> * -> * ) -> * ) = TypeBBBXXXXEXEXXE
instance TypeClass (TypeBBBXXXXEXEXXE t) where
	type_ = TypeBBBXXXXEXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * ) -> * -> * ) -> * ) -> * -> * ) -> * @.
data TypeBBBBXXEXXEXEXXE ( x :: ( ( ( ( * -> * ) -> * -> * ) -> * ) -> * -> * ) -> * ) = TypeBBBBXXEXXEXEXXE
instance TypeClass (TypeBBBBXXEXXEXEXXE t) where
	type_ = TypeBBBBXXEXXEXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> ( * -> * ) -> * ) -> * ) -> * -> * ) -> * @.
data TypeBBBXBXXEXEXEXXE ( x :: ( ( ( * -> ( * -> * ) -> * ) -> * ) -> * -> * ) -> * ) = TypeBBBXBXXEXEXEXXE
instance TypeClass (TypeBBBXBXXEXEXEXXE t) where
	type_ = TypeBBBXBXXEXEXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * -> * ) -> * ) -> * ) -> * -> * ) -> * @.
data TypeBBBBXXXEXEXEXXE ( x :: ( ( ( ( * -> * -> * ) -> * ) -> * ) -> * -> * ) -> * ) = TypeBBBBXXXEXEXEXXE
instance TypeClass (TypeBBBBXXXEXEXEXXE t) where
	type_ = TypeBBBBXXXEXEXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * -> * ) -> * @.
data TypeBBBBBXXEXEXEXEXXE ( x :: ( ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * -> * ) -> * ) = TypeBBBBBXXEXEXEXEXXE
instance TypeClass (TypeBBBBBXXEXEXEXEXXE t) where
	type_ = TypeBBBBBXXEXEXEXEXXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( * -> * -> * -> * -> * ) -> * ) -> * @.
data TypeBXBXXXXXEXE ( x :: ( * -> ( * -> * -> * -> * -> * ) -> * ) -> * ) = TypeBXBXXXXXEXE
instance TypeClass (TypeBXBXXXXXEXE t) where
	type_ = TypeBXBXXXXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( ( * -> * ) -> * -> * -> * ) -> * ) -> * @.
data TypeBXBBXXEXXXEXE ( x :: ( * -> ( ( * -> * ) -> * -> * -> * ) -> * ) -> * ) = TypeBXBBXXEXXXEXE
instance TypeClass (TypeBXBBXXEXXXEXE t) where
	type_ = TypeBXBBXXEXXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( ( * -> * ) -> ( * -> * ) -> * ) -> * ) -> * @.
data TypeBXBBXXEBXXEXEXE ( x :: ( * -> ( ( * -> * ) -> ( * -> * ) -> * ) -> * ) -> * ) = TypeBXBBXXEBXXEXEXE
instance TypeClass (TypeBXBBXXEBXXEXEXE t) where
	type_ = TypeBXBBXXEBXXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( * -> ( * -> * ) -> * -> * ) -> * ) -> * @.
data TypeBXBXBXXEXXEXE ( x :: ( * -> ( * -> ( * -> * ) -> * -> * ) -> * ) -> * ) = TypeBXBXBXXEXXEXE
instance TypeClass (TypeBXBXBXXEXXEXE t) where
	type_ = TypeBXBXBXXEXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( * -> * -> ( * -> * ) -> * ) -> * ) -> * @.
data TypeBXBXXBXXEXEXE ( x :: ( * -> ( * -> * -> ( * -> * ) -> * ) -> * ) -> * ) = TypeBXBXXBXXEXEXE
instance TypeClass (TypeBXBXXBXXEXEXE t) where
	type_ = TypeBXBXXBXXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( ( * -> * -> * ) -> * -> * ) -> * ) -> * @.
data TypeBXBBXXXEXXEXE ( x :: ( * -> ( ( * -> * -> * ) -> * -> * ) -> * ) -> * ) = TypeBXBBXXXEXXEXE
instance TypeClass (TypeBXBBXXXEXXEXE t) where
	type_ = TypeBXBBXXXEXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( ( ( * -> * ) -> * ) -> * -> * ) -> * ) -> * @.
data TypeBXBBBXXEXEXXEXE ( x :: ( * -> ( ( ( * -> * ) -> * ) -> * -> * ) -> * ) -> * ) = TypeBXBBBXXEXEXXEXE
instance TypeClass (TypeBXBBBXXEXEXXEXE t) where
	type_ = TypeBXBBBXXEXEXXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( * -> ( * -> * -> * ) -> * ) -> * ) -> * @.
data TypeBXBXBXXXEXEXE ( x :: ( * -> ( * -> ( * -> * -> * ) -> * ) -> * ) -> * ) = TypeBXBXBXXXEXEXE
instance TypeClass (TypeBXBXBXXXEXEXE t) where
	type_ = TypeBXBXBXXXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( * -> ( ( * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBXBXBBXXEXEXEXE ( x :: ( * -> ( * -> ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBXBXBBXXEXEXEXE
instance TypeClass (TypeBXBXBBXXEXEXEXE t) where
	type_ = TypeBXBXBBXXEXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( ( * -> * -> * -> * ) -> * ) -> * ) -> * @.
data TypeBXBBXXXXEXEXE ( x :: ( * -> ( ( * -> * -> * -> * ) -> * ) -> * ) -> * ) = TypeBXBBXXXXEXEXE
instance TypeClass (TypeBXBBXXXXEXEXE t) where
	type_ = TypeBXBBXXXXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( ( ( * -> * ) -> * -> * ) -> * ) -> * ) -> * @.
data TypeBXBBBXXEXXEXEXE ( x :: ( * -> ( ( ( * -> * ) -> * -> * ) -> * ) -> * ) -> * ) = TypeBXBBBXXEXXEXEXE
instance TypeClass (TypeBXBBBXXEXXEXEXE t) where
	type_ = TypeBXBBBXXEXXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( ( * -> ( * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBXBBXBXXEXEXEXE ( x :: ( * -> ( ( * -> ( * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBXBBXBXXEXEXEXE
instance TypeClass (TypeBXBBXBXXEXEXEXE t) where
	type_ = TypeBXBBXBXXEXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( ( ( * -> * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBXBBBXXXEXEXEXE ( x :: ( * -> ( ( ( * -> * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBXBBBXXXEXEXEXE
instance TypeClass (TypeBXBBBXXXEXEXEXE t) where
	type_ = TypeBXBBBXXXEXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( * -> ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBXBBBBXXEXEXEXEXE ( x :: ( * -> ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBXBBBBXXEXEXEXEXE
instance TypeClass (TypeBXBBBBXXEXEXEXEXE t) where
	type_ = TypeBXBBBBXXEXEXEXEXE
	kindOf _ = KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) KindUnit)) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * -> * -> * -> * -> * ) -> * ) -> * @.
data TypeBBXXXXXXEXE ( x :: ( ( * -> * -> * -> * -> * -> * ) -> * ) -> * ) = TypeBBXXXXXXEXE
instance TypeClass (TypeBBXXXXXXEXE t) where
	type_ = TypeBBXXXXXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * -> * -> * -> * ) -> * ) -> * @.
data TypeBBBXXEXXXXEXE ( x :: ( ( ( * -> * ) -> * -> * -> * -> * ) -> * ) -> * ) = TypeBBBXXEXXXXEXE
instance TypeClass (TypeBBBXXEXXXXEXE t) where
	type_ = TypeBBBXXEXXXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> ( * -> * ) -> * -> * ) -> * ) -> * @.
data TypeBBBXXEBXXEXXEXE ( x :: ( ( ( * -> * ) -> ( * -> * ) -> * -> * ) -> * ) -> * ) = TypeBBBXXEBXXEXXEXE
instance TypeClass (TypeBBBXXEBXXEXXEXE t) where
	type_ = TypeBBBXXEBXXEXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> * -> ( * -> * ) -> * ) -> * ) -> * @.
data TypeBBBXXEXBXXEXEXE ( x :: ( ( ( * -> * ) -> * -> ( * -> * ) -> * ) -> * ) -> * ) = TypeBBBXXEXBXXEXEXE
instance TypeClass (TypeBBBXXEXBXXEXEXE t) where
	type_ = TypeBBBXXEXBXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> ( * -> * -> * ) -> * ) -> * ) -> * @.
data TypeBBBXXEBXXXEXEXE ( x :: ( ( ( * -> * ) -> ( * -> * -> * ) -> * ) -> * ) -> * ) = TypeBBBXXEBXXXEXEXE
instance TypeClass (TypeBBBXXEBXXXEXEXE t) where
	type_ = TypeBBBXXEBXXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * ) -> ( ( * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBBBXXEBBXXEXEXEXE ( x :: ( ( ( * -> * ) -> ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBBBXXEBBXXEXEXEXE
instance TypeClass (TypeBBBXXEBBXXEXEXEXE t) where
	type_ = TypeBBBXXEBBXXEXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> ( * -> * ) -> * -> * -> * ) -> * ) -> * @.
data TypeBBXBXXEXXXEXE ( x :: ( ( * -> ( * -> * ) -> * -> * -> * ) -> * ) -> * ) = TypeBBXBXXEXXXEXE
instance TypeClass (TypeBBXBXXEXXXEXE t) where
	type_ = TypeBBXBXXEXXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> ( * -> * ) -> ( * -> * ) -> * ) -> * ) -> * @.
data TypeBBXBXXEBXXEXEXE ( x :: ( ( * -> ( * -> * ) -> ( * -> * ) -> * ) -> * ) -> * ) = TypeBBXBXXEBXXEXEXE
instance TypeClass (TypeBBXBXXEBXXEXEXE t) where
	type_ = TypeBBXBXXEBXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * -> ( * -> * ) -> * -> * ) -> * ) -> * @.
data TypeBBXXBXXEXXEXE ( x :: ( ( * -> * -> ( * -> * ) -> * -> * ) -> * ) -> * ) = TypeBBXXBXXEXXEXE
instance TypeClass (TypeBBXXBXXEXXEXE t) where
	type_ = TypeBBXXBXXEXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * -> * -> ( * -> * ) -> * ) -> * ) -> * @.
data TypeBBXXXBXXEXEXE ( x :: ( ( * -> * -> * -> ( * -> * ) -> * ) -> * ) -> * ) = TypeBBXXXBXXEXEXE
instance TypeClass (TypeBBXXXBXXEXEXE t) where
	type_ = TypeBBXXXBXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * -> * ) -> * -> * -> * ) -> * ) -> * @.
data TypeBBBXXXEXXXEXE ( x :: ( ( ( * -> * -> * ) -> * -> * -> * ) -> * ) -> * ) = TypeBBBXXXEXXXEXE
instance TypeClass (TypeBBBXXXEXXXEXE t) where
	type_ = TypeBBBXXXEXXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * -> * ) -> ( * -> * ) -> * ) -> * ) -> * @.
data TypeBBBXXXEBXXEXEXE ( x :: ( ( ( * -> * -> * ) -> ( * -> * ) -> * ) -> * ) -> * ) = TypeBBBXXXEBXXEXEXE
instance TypeClass (TypeBBBXXXEBXXEXEXE t) where
	type_ = TypeBBBXXXEBXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * ) -> * ) -> * -> * -> * ) -> * ) -> * @.
data TypeBBBBXXEXEXXXEXE ( x :: ( ( ( ( * -> * ) -> * ) -> * -> * -> * ) -> * ) -> * ) = TypeBBBBXXEXEXXXEXE
instance TypeClass (TypeBBBBXXEXEXXXEXE t) where
	type_ = TypeBBBBXXEXEXXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * ) -> * ) -> ( * -> * ) -> * ) -> * ) -> * @.
data TypeBBBBXXEXEBXXEXEXE ( x :: ( ( ( ( * -> * ) -> * ) -> ( * -> * ) -> * ) -> * ) -> * ) = TypeBBBBXXEXEBXXEXEXE
instance TypeClass (TypeBBBBXXEXEBXXEXEXE t) where
	type_ = TypeBBBBXXEXEBXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> ( * -> * -> * ) -> * -> * ) -> * ) -> * @.
data TypeBBXBXXXEXXEXE ( x :: ( ( * -> ( * -> * -> * ) -> * -> * ) -> * ) -> * ) = TypeBBXBXXXEXXEXE
instance TypeClass (TypeBBXBXXXEXXEXE t) where
	type_ = TypeBBXBXXXEXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> ( ( * -> * ) -> * ) -> * -> * ) -> * ) -> * @.
data TypeBBXBBXXEXEXXEXE ( x :: ( ( * -> ( ( * -> * ) -> * ) -> * -> * ) -> * ) -> * ) = TypeBBXBBXXEXEXXEXE
instance TypeClass (TypeBBXBBXXEXEXXEXE t) where
	type_ = TypeBBXBBXXEXEXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit))) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * -> ( * -> * -> * ) -> * ) -> * ) -> * @.
data TypeBBXXBXXXEXEXE ( x :: ( ( * -> * -> ( * -> * -> * ) -> * ) -> * ) -> * ) = TypeBBXXBXXXEXEXE
instance TypeClass (TypeBBXXBXXXEXEXE t) where
	type_ = TypeBBXXBXXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> * -> ( ( * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBBXXBBXXEXEXEXE ( x :: ( ( * -> * -> ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBBXXBBXXEXEXEXE
instance TypeClass (TypeBBXXBBXXEXEXEXE t) where
	type_ = TypeBBXXBBXXEXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * -> * -> * ) -> * -> * ) -> * ) -> * @.
data TypeBBBXXXXEXXEXE ( x :: ( ( ( * -> * -> * -> * ) -> * -> * ) -> * ) -> * ) = TypeBBBXXXXEXXEXE
instance TypeClass (TypeBBBXXXXEXXEXE t) where
	type_ = TypeBBBXXXXEXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * ) -> * -> * ) -> * -> * ) -> * ) -> * @.
data TypeBBBBXXEXXEXXEXE ( x :: ( ( ( ( * -> * ) -> * -> * ) -> * -> * ) -> * ) -> * ) = TypeBBBBXXEXXEXXEXE
instance TypeClass (TypeBBBBXXEXXEXXEXE t) where
	type_ = TypeBBBBXXEXXEXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> ( * -> * ) -> * ) -> * -> * ) -> * ) -> * @.
data TypeBBBXBXXEXEXXEXE ( x :: ( ( ( * -> ( * -> * ) -> * ) -> * -> * ) -> * ) -> * ) = TypeBBBXBXXEXEXXEXE
instance TypeClass (TypeBBBXBXXEXEXXEXE t) where
	type_ = TypeBBBXBXXEXEXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * -> * ) -> * ) -> * -> * ) -> * ) -> * @.
data TypeBBBBXXXEXEXXEXE ( x :: ( ( ( ( * -> * -> * ) -> * ) -> * -> * ) -> * ) -> * ) = TypeBBBBXXXEXEXXEXE
instance TypeClass (TypeBBBBXXXEXEXXEXE t) where
	type_ = TypeBBBBXXXEXEXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( ( ( * -> * ) -> * ) -> * ) -> * -> * ) -> * ) -> * @.
data TypeBBBBBXXEXEXEXXEXE ( x :: ( ( ( ( ( * -> * ) -> * ) -> * ) -> * -> * ) -> * ) -> * ) = TypeBBBBBXXEXEXEXXEXE
instance TypeClass (TypeBBBBBXXEXEXEXXEXE t) where
	type_ = TypeBBBBBXXEXEXEXXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> ( * -> * -> * -> * ) -> * ) -> * ) -> * @.
data TypeBBXBXXXXEXEXE ( x :: ( ( * -> ( * -> * -> * -> * ) -> * ) -> * ) -> * ) = TypeBBXBXXXXEXEXE
instance TypeClass (TypeBBXBXXXXEXEXE t) where
	type_ = TypeBBXBXXXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> ( ( * -> * ) -> * -> * ) -> * ) -> * ) -> * @.
data TypeBBXBBXXEXXEXEXE ( x :: ( ( * -> ( ( * -> * ) -> * -> * ) -> * ) -> * ) -> * ) = TypeBBXBBXXEXXEXEXE
instance TypeClass (TypeBBXBBXXEXXEXEXE t) where
	type_ = TypeBBXBBXXEXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> ( * -> ( * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBBXBXBXXEXEXEXE ( x :: ( ( * -> ( * -> ( * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBBXBXBXXEXEXEXE
instance TypeClass (TypeBBXBXBXXEXEXEXE t) where
	type_ = TypeBBXBXBXXEXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> ( ( * -> * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBBXBBXXXEXEXEXE ( x :: ( ( * -> ( ( * -> * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBBXBBXXXEXEXEXE
instance TypeClass (TypeBBXBBXXXEXEXEXE t) where
	type_ = TypeBBXBBXXXEXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( * -> ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBBXBBBXXEXEXEXEXE ( x :: ( ( * -> ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBBXBBBXXEXEXEXEXE
instance TypeClass (TypeBBXBBBXXEXEXEXEXE t) where
	type_ = TypeBBXBBBXXEXEXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit)) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * -> * -> * -> * ) -> * ) -> * ) -> * @.
data TypeBBBXXXXXEXEXE ( x :: ( ( ( * -> * -> * -> * -> * ) -> * ) -> * ) -> * ) = TypeBBBXXXXXEXEXE
instance TypeClass (TypeBBBXXXXXEXEXE t) where
	type_ = TypeBBBXXXXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * ) -> * -> * -> * ) -> * ) -> * ) -> * @.
data TypeBBBBXXEXXXEXEXE ( x :: ( ( ( ( * -> * ) -> * -> * -> * ) -> * ) -> * ) -> * ) = TypeBBBBXXEXXXEXEXE
instance TypeClass (TypeBBBBXXEXXXEXEXE t) where
	type_ = TypeBBBBXXEXXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * ) -> ( * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBBBBXXEBXXEXEXEXE ( x :: ( ( ( ( * -> * ) -> ( * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBBBBXXEBXXEXEXEXE
instance TypeClass (TypeBBBBXXEBXXEXEXEXE t) where
	type_ = TypeBBBBXXEBXXEXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> ( * -> * ) -> * -> * ) -> * ) -> * ) -> * @.
data TypeBBBXBXXEXXEXEXE ( x :: ( ( ( * -> ( * -> * ) -> * -> * ) -> * ) -> * ) -> * ) = TypeBBBXBXXEXXEXEXE
instance TypeClass (TypeBBBXBXXEXXEXEXE t) where
	type_ = TypeBBBXBXXEXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> * -> ( * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBBBXXBXXEXEXEXE ( x :: ( ( ( * -> * -> ( * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBBBXXBXXEXEXEXE
instance TypeClass (TypeBBBXXBXXEXEXEXE t) where
	type_ = TypeBBBXXBXXEXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * -> * ) -> * -> * ) -> * ) -> * ) -> * @.
data TypeBBBBXXXEXXEXEXE ( x :: ( ( ( ( * -> * -> * ) -> * -> * ) -> * ) -> * ) -> * ) = TypeBBBBXXXEXXEXEXE
instance TypeClass (TypeBBBBXXXEXXEXEXE t) where
	type_ = TypeBBBBXXXEXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( ( ( * -> * ) -> * ) -> * -> * ) -> * ) -> * ) -> * @.
data TypeBBBBBXXEXEXXEXEXE ( x :: ( ( ( ( ( * -> * ) -> * ) -> * -> * ) -> * ) -> * ) -> * ) = TypeBBBBBXXEXEXXEXEXE
instance TypeClass (TypeBBBBBXXEXEXXEXEXE t) where
	type_ = TypeBBBBBXXEXEXXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> ( * -> * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBBBXBXXXEXEXEXE ( x :: ( ( ( * -> ( * -> * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBBBXBXXXEXEXEXE
instance TypeClass (TypeBBBXBXXXEXEXEXE t) where
	type_ = TypeBBBXBXXXEXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( * -> ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBBBXBBXXEXEXEXEXE ( x :: ( ( ( * -> ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBBBXBBXXEXEXEXEXE
instance TypeClass (TypeBBBXBBXXEXEXEXEXE t) where
	type_ = TypeBBBXBBXXEXEXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( ( * -> * -> * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBBBBXXXXEXEXEXE ( x :: ( ( ( ( * -> * -> * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBBBBXXXXEXEXEXE
instance TypeClass (TypeBBBBXXXXEXEXEXE t) where
	type_ = TypeBBBBXXXXEXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( ( ( * -> * ) -> * -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBBBBBXXEXXEXEXEXE ( x :: ( ( ( ( ( * -> * ) -> * -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBBBBBXXEXXEXEXEXE
instance TypeClass (TypeBBBBBXXEXXEXEXEXE t) where
	type_ = TypeBBBBBXXEXXEXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( ( * -> ( * -> * ) -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBBBBXBXXEXEXEXEXE ( x :: ( ( ( ( * -> ( * -> * ) -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBBBBXBXXEXEXEXEXE
instance TypeClass (TypeBBBBXBXXEXEXEXEXE t) where
	type_ = TypeBBBBXBXXEXEXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( ( ( * -> * -> * ) -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBBBBBXXXEXEXEXEXE ( x :: ( ( ( ( ( * -> * -> * ) -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBBBBBXXXEXEXEXEXE
instance TypeClass (TypeBBBBBXXXEXEXEXEXE t) where
	type_ = TypeBBBBBXXXEXEXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit) KindUnit) KindUnit
-- | An encapsulation of type with a kind @ ( ( ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) -> * ) -> * @.
data TypeBBBBBBXXEXEXEXEXEXE ( x :: ( ( ( ( ( ( * -> * ) -> * ) -> * ) -> * ) -> * ) -> * ) -> * ) = TypeBBBBBBXXEXEXEXEXEXE
instance TypeClass (TypeBBBBBBXXEXEXEXEXEXE t) where
	type_ = TypeBBBBBBXXEXEXEXEXEXE
	kindOf _ = KindArrow (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) KindUnit) KindUnit) KindUnit
instance (Typed (TypeX f), Typed (Type p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXX f), Typed (Type p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeBXXE f), Typed (TypeX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeXXX f), Typed (Type p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeXXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeBXXEX f), Typed (TypeX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeXBXXE f), Typed (Type p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeBXXXE f), Typed (TypeXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXE f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBBXXEXE f), Typed (TypeBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeXXXX f), Typed (Type p)) => Typed (TypeXXX (f p)) where
	typeID _ = typeID (type_ :: TypeXXXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeBXXEXX f), Typed (TypeX p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEXX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBXXE f), Typed (TypeX p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeXBXXEX f), Typed (Type p)) => Typed (TypeBXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBXXE f), Typed (Type p)) => Typed (TypeXBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeBXXXEX f), Typed (TypeXX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXEX f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBBXXEXEX f), Typed (TypeBXXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXEX f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeXBXXXE f), Typed (Type p)) => Typed (TypeBXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXEXE f), Typed (Type p)) => Typed (TypeBBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeBXXXXE f), Typed (TypeXXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXXE f) `applyTypeID` typeID (type_ :: TypeXXX p)
instance (Typed (TypeBBXXEXXE f), Typed (TypeBXXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXXE f) `applyTypeID` typeID (type_ :: TypeBXXEX p)
instance (Typed (TypeBXBXXEXE f), Typed (TypeXBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXEXE f) `applyTypeID` typeID (type_ :: TypeXBXXE p)
instance (Typed (TypeBBXXXEXE f), Typed (TypeBXXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXXE p)
instance (Typed (TypeBBBXXEXEXE f), Typed (TypeBBXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXE p)
instance (Typed (TypeXXXXX f), Typed (Type p)) => Typed (TypeXXXX (f p)) where
	typeID _ = typeID (type_ :: TypeXXXXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeBXXEXXX f), Typed (TypeX p)) => Typed (TypeXXX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEXXX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBXXEX f), Typed (TypeX p)) => Typed (TypeBXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBXXEX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEXBXXE f), Typed (TypeX p)) => Typed (TypeXBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEXBXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBXXXE f), Typed (TypeX p)) => Typed (TypeBXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBXXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBBXXEXE f), Typed (TypeX p)) => Typed (TypeBBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBBXXEXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeXBXXEXX f), Typed (Type p)) => Typed (TypeBXXEXX (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXEXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXEBXXE f), Typed (Type p)) => Typed (TypeBXXEBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXEBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBXXEX f), Typed (Type p)) => Typed (TypeXBXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXXBXXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXXBXXE f), Typed (Type p)) => Typed (TypeXXBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXXBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeBXXXEXX f), Typed (TypeXX p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXEXX f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBXXXEBXXE f), Typed (TypeXX p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXEBXXE f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBBXXEXEXX f), Typed (TypeBXXE p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXEXX f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeBBXXEXEBXXE f), Typed (TypeBXXE p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXEBXXE f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeXBXXXEX f), Typed (Type p)) => Typed (TypeBXXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXEXEX f), Typed (Type p)) => Typed (TypeBBXXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXEXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBXXXE f), Typed (Type p)) => Typed (TypeXBXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBXXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBBXXEXE f), Typed (Type p)) => Typed (TypeXBBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBBXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeBXXXXEX f), Typed (TypeXXX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXXEX f) `applyTypeID` typeID (type_ :: TypeXXX p)
instance (Typed (TypeBBXXEXXEX f), Typed (TypeBXXEX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXXEX f) `applyTypeID` typeID (type_ :: TypeBXXEX p)
instance (Typed (TypeBXBXXEXEX f), Typed (TypeXBXXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXEXEX f) `applyTypeID` typeID (type_ :: TypeXBXXE p)
instance (Typed (TypeBBXXXEXEX f), Typed (TypeBXXXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXEXEX f) `applyTypeID` typeID (type_ :: TypeBXXXE p)
instance (Typed (TypeBBBXXEXEXEX f), Typed (TypeBBXXEXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXEXEX f) `applyTypeID` typeID (type_ :: TypeBBXXEXE p)
instance (Typed (TypeXBXXXXE f), Typed (Type p)) => Typed (TypeBXXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXEXXE f), Typed (Type p)) => Typed (TypeBBXXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXEXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXBXXEXE f), Typed (Type p)) => Typed (TypeBXBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXBXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXXEXE f), Typed (Type p)) => Typed (TypeBBXXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBXXEXEXE f), Typed (Type p)) => Typed (TypeBBBXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBXXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeBXXXXXE f), Typed (TypeXXXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXXXE f) `applyTypeID` typeID (type_ :: TypeXXXX p)
instance (Typed (TypeBBXXEXXXE f), Typed (TypeBXXEXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXXXE f) `applyTypeID` typeID (type_ :: TypeBXXEXX p)
instance (Typed (TypeBBXXEBXXEXE f), Typed (TypeBXXEBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEBXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXEBXXE p)
instance (Typed (TypeBXBXXEXXE f), Typed (TypeXBXXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXEXXE f) `applyTypeID` typeID (type_ :: TypeXBXXEX p)
instance (Typed (TypeBXXBXXEXE f), Typed (TypeXXBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXBXXEXE f) `applyTypeID` typeID (type_ :: TypeXXBXXE p)
instance (Typed (TypeBBXXXEXXE f), Typed (TypeBXXXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXEXXE f) `applyTypeID` typeID (type_ :: TypeBXXXEX p)
instance (Typed (TypeBBBXXEXEXXE f), Typed (TypeBBXXEXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXEXXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXEX p)
instance (Typed (TypeBXBXXXEXE f), Typed (TypeXBXXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXXEXE f) `applyTypeID` typeID (type_ :: TypeXBXXXE p)
instance (Typed (TypeBXBBXXEXEXE f), Typed (TypeXBBXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeXBBXXEXE p)
instance (Typed (TypeBBXXXXEXE f), Typed (TypeBXXXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXXXE p)
instance (Typed (TypeBBBXXEXXEXE f), Typed (TypeBBXXEXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXXE p)
instance (Typed (TypeBBXBXXEXEXE f), Typed (TypeBXBXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBXBXXEXE p)
instance (Typed (TypeBBBXXXEXEXE f), Typed (TypeBBXXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXXEXE p)
instance (Typed (TypeBBBBXXEXEXEXE f), Typed (TypeBBBXXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBBXXEXEXE p)
instance (Typed (TypeXXXXXX f), Typed (Type p)) => Typed (TypeXXXXX (f p)) where
	typeID _ = typeID (type_ :: TypeXXXXXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeBXXEXXXX f), Typed (TypeX p)) => Typed (TypeXXXX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEXXXX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBXXEXX f), Typed (TypeX p)) => Typed (TypeBXXEXX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBXXEXX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBXXEBXXE f), Typed (TypeX p)) => Typed (TypeBXXEBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBXXEBXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEXBXXEX f), Typed (TypeX p)) => Typed (TypeXBXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEXBXXEX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEXXBXXE f), Typed (TypeX p)) => Typed (TypeXXBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEXXBXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBXXXEX f), Typed (TypeX p)) => Typed (TypeBXXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBXXXEX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBBXXEXEX f), Typed (TypeX p)) => Typed (TypeBBXXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBBXXEXEX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEXBXXXE f), Typed (TypeX p)) => Typed (TypeXBXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEXBXXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEXBBXXEXE f), Typed (TypeX p)) => Typed (TypeXBBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEXBBXXEXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBXXXXE f), Typed (TypeX p)) => Typed (TypeBXXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBXXXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBBXXEXXE f), Typed (TypeX p)) => Typed (TypeBBXXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBBXXEXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBXBXXEXE f), Typed (TypeX p)) => Typed (TypeBXBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBXBXXEXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBBXXXEXE f), Typed (TypeX p)) => Typed (TypeBBXXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBBXXXEXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBBBXXEXEXE f), Typed (TypeX p)) => Typed (TypeBBBXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBBBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeXBXXEXXX f), Typed (Type p)) => Typed (TypeBXXEXXX (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXEXXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXEBXXEX f), Typed (Type p)) => Typed (TypeBXXEBXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXEBXXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXEXBXXE f), Typed (Type p)) => Typed (TypeBXXEXBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXEXBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXEBXXXE f), Typed (Type p)) => Typed (TypeBXXEBXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXEBXXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXEBBXXEXE f), Typed (Type p)) => Typed (TypeBXXEBBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXEBBXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBXXEXX f), Typed (Type p)) => Typed (TypeXBXXEXX (f p)) where
	typeID _ = typeID (type_ :: TypeXXBXXEXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBXXEBXXE f), Typed (Type p)) => Typed (TypeXBXXEBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBXXEBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXXBXXEX f), Typed (Type p)) => Typed (TypeXXBXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXXXBXXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXXXBXXE f), Typed (Type p)) => Typed (TypeXXXBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXXXBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeBXXXEXXX f), Typed (TypeXX p)) => Typed (TypeXXX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXEXXX f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBXXXEBXXEX f), Typed (TypeXX p)) => Typed (TypeBXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXEBXXEX f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBXXXEXBXXE f), Typed (TypeXX p)) => Typed (TypeXBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXEXBXXE f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBXXXEBXXXE f), Typed (TypeXX p)) => Typed (TypeBXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXEBXXXE f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBXXXEBBXXEXE f), Typed (TypeXX p)) => Typed (TypeBBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXEBBXXEXE f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBBXXEXEXXX f), Typed (TypeBXXE p)) => Typed (TypeXXX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXEXXX f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeBBXXEXEBXXEX f), Typed (TypeBXXE p)) => Typed (TypeBXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXEBXXEX f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeBBXXEXEXBXXE f), Typed (TypeBXXE p)) => Typed (TypeXBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXEXBXXE f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeBBXXEXEBXXXE f), Typed (TypeBXXE p)) => Typed (TypeBXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXEBXXXE f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeBBXXEXEBBXXEXE f), Typed (TypeBXXE p)) => Typed (TypeBBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXEBBXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeXBXXXEXX f), Typed (Type p)) => Typed (TypeBXXXEXX (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXXEXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXXEBXXE f), Typed (Type p)) => Typed (TypeBXXXEBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXXEBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXEXEXX f), Typed (Type p)) => Typed (TypeBBXXEXEXX (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXEXEXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXEXEBXXE f), Typed (Type p)) => Typed (TypeBBXXEXEBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXEXEBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBXXXEX f), Typed (Type p)) => Typed (TypeXBXXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXXBXXXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBBXXEXEX f), Typed (Type p)) => Typed (TypeXBBXXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXXBBXXEXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXXBXXXE f), Typed (Type p)) => Typed (TypeXXBXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXXBXXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXXBBXXEXE f), Typed (Type p)) => Typed (TypeXXBBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXXBBXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeBXXXXEXX f), Typed (TypeXXX p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXXEXX f) `applyTypeID` typeID (type_ :: TypeXXX p)
instance (Typed (TypeBXXXXEBXXE f), Typed (TypeXXX p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXXEBXXE f) `applyTypeID` typeID (type_ :: TypeXXX p)
instance (Typed (TypeBBXXEXXEXX f), Typed (TypeBXXEX p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXXEXX f) `applyTypeID` typeID (type_ :: TypeBXXEX p)
instance (Typed (TypeBBXXEXXEBXXE f), Typed (TypeBXXEX p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXXEBXXE f) `applyTypeID` typeID (type_ :: TypeBXXEX p)
instance (Typed (TypeBXBXXEXEXX f), Typed (TypeXBXXE p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXEXEXX f) `applyTypeID` typeID (type_ :: TypeXBXXE p)
instance (Typed (TypeBXBXXEXEBXXE f), Typed (TypeXBXXE p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXEXEBXXE f) `applyTypeID` typeID (type_ :: TypeXBXXE p)
instance (Typed (TypeBBXXXEXEXX f), Typed (TypeBXXXE p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXEXEXX f) `applyTypeID` typeID (type_ :: TypeBXXXE p)
instance (Typed (TypeBBXXXEXEBXXE f), Typed (TypeBXXXE p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXEXEBXXE f) `applyTypeID` typeID (type_ :: TypeBXXXE p)
instance (Typed (TypeBBBXXEXEXEXX f), Typed (TypeBBXXEXE p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXEXEXX f) `applyTypeID` typeID (type_ :: TypeBBXXEXE p)
instance (Typed (TypeBBBXXEXEXEBXXE f), Typed (TypeBBXXEXE p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXEXEBXXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXE p)
instance (Typed (TypeXBXXXXEX f), Typed (Type p)) => Typed (TypeBXXXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXXXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXEXXEX f), Typed (Type p)) => Typed (TypeBBXXEXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXEXXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXBXXEXEX f), Typed (Type p)) => Typed (TypeBXBXXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBXBXXEXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXXEXEX f), Typed (Type p)) => Typed (TypeBBXXXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXXEXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBXXEXEXEX f), Typed (Type p)) => Typed (TypeBBBXXEXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBXXEXEXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBXXXXE f), Typed (Type p)) => Typed (TypeXBXXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBXXXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBBXXEXXE f), Typed (Type p)) => Typed (TypeXBBXXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBBXXEXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBXBXXEXE f), Typed (Type p)) => Typed (TypeXBXBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBXBXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBBXXXEXE f), Typed (Type p)) => Typed (TypeXBBXXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBBXXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBBBXXEXEXE f), Typed (Type p)) => Typed (TypeXBBBXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBBBXXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeBXXXXXEX f), Typed (TypeXXXX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXXXEX f) `applyTypeID` typeID (type_ :: TypeXXXX p)
instance (Typed (TypeBBXXEXXXEX f), Typed (TypeBXXEXX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXXXEX f) `applyTypeID` typeID (type_ :: TypeBXXEXX p)
instance (Typed (TypeBBXXEBXXEXEX f), Typed (TypeBXXEBXXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEBXXEXEX f) `applyTypeID` typeID (type_ :: TypeBXXEBXXE p)
instance (Typed (TypeBXBXXEXXEX f), Typed (TypeXBXXEX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXEXXEX f) `applyTypeID` typeID (type_ :: TypeXBXXEX p)
instance (Typed (TypeBXXBXXEXEX f), Typed (TypeXXBXXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXBXXEXEX f) `applyTypeID` typeID (type_ :: TypeXXBXXE p)
instance (Typed (TypeBBXXXEXXEX f), Typed (TypeBXXXEX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXEXXEX f) `applyTypeID` typeID (type_ :: TypeBXXXEX p)
instance (Typed (TypeBBBXXEXEXXEX f), Typed (TypeBBXXEXEX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXEXXEX f) `applyTypeID` typeID (type_ :: TypeBBXXEXEX p)
instance (Typed (TypeBXBXXXEXEX f), Typed (TypeXBXXXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXXEXEX f) `applyTypeID` typeID (type_ :: TypeXBXXXE p)
instance (Typed (TypeBXBBXXEXEXEX f), Typed (TypeXBBXXEXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBXXEXEXEX f) `applyTypeID` typeID (type_ :: TypeXBBXXEXE p)
instance (Typed (TypeBBXXXXEXEX f), Typed (TypeBXXXXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXXEXEX f) `applyTypeID` typeID (type_ :: TypeBXXXXE p)
instance (Typed (TypeBBBXXEXXEXEX f), Typed (TypeBBXXEXXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXXEXEX f) `applyTypeID` typeID (type_ :: TypeBBXXEXXE p)
instance (Typed (TypeBBXBXXEXEXEX f), Typed (TypeBXBXXEXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBXXEXEXEX f) `applyTypeID` typeID (type_ :: TypeBXBXXEXE p)
instance (Typed (TypeBBBXXXEXEXEX f), Typed (TypeBBXXXEXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXXEXEXEX f) `applyTypeID` typeID (type_ :: TypeBBXXXEXE p)
instance (Typed (TypeBBBBXXEXEXEXEX f), Typed (TypeBBBXXEXEXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXEXEXEXEX f) `applyTypeID` typeID (type_ :: TypeBBBXXEXEXE p)
instance (Typed (TypeXBXXXXXE f), Typed (Type p)) => Typed (TypeBXXXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXXXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXEXXXE f), Typed (Type p)) => Typed (TypeBBXXEXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXEXXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXEBXXEXE f), Typed (Type p)) => Typed (TypeBBXXEBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXEBXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXBXXEXXE f), Typed (Type p)) => Typed (TypeBXBXXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXBXXEXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXBXXEXE f), Typed (Type p)) => Typed (TypeBXXBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXBXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXXEXXE f), Typed (Type p)) => Typed (TypeBBXXXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXXEXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBXXEXEXXE f), Typed (Type p)) => Typed (TypeBBBXXEXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBXXEXEXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXBXXXEXE f), Typed (Type p)) => Typed (TypeBXBXXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXBXXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXBBXXEXEXE f), Typed (Type p)) => Typed (TypeBXBBXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXBBXXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXXXEXE f), Typed (Type p)) => Typed (TypeBBXXXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBXXEXXEXE f), Typed (Type p)) => Typed (TypeBBBXXEXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBXXEXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXBXXEXEXE f), Typed (Type p)) => Typed (TypeBBXBXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXBXXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBXXXEXEXE f), Typed (Type p)) => Typed (TypeBBBXXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBXXXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBBXXEXEXEXE f), Typed (Type p)) => Typed (TypeBBBBXXEXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBBXXEXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeBXXXXXXE f), Typed (TypeXXXXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXXXXE f) `applyTypeID` typeID (type_ :: TypeXXXXX p)
instance (Typed (TypeBBXXEXXXXE f), Typed (TypeBXXEXXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXXXXE f) `applyTypeID` typeID (type_ :: TypeBXXEXXX p)
instance (Typed (TypeBBXXEBXXEXXE f), Typed (TypeBXXEBXXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEBXXEXXE f) `applyTypeID` typeID (type_ :: TypeBXXEBXXEX p)
instance (Typed (TypeBBXXEXBXXEXE f), Typed (TypeBXXEXBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXBXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXEXBXXE p)
instance (Typed (TypeBBXXEBXXXEXE f), Typed (TypeBXXEBXXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEBXXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXEBXXXE p)
instance (Typed (TypeBBXXEBBXXEXEXE f), Typed (TypeBXXEBBXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEBBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBXXEBBXXEXE p)
instance (Typed (TypeBXBXXEXXXE f), Typed (TypeXBXXEXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXEXXXE f) `applyTypeID` typeID (type_ :: TypeXBXXEXX p)
instance (Typed (TypeBXBXXEBXXEXE f), Typed (TypeXBXXEBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXEBXXEXE f) `applyTypeID` typeID (type_ :: TypeXBXXEBXXE p)
instance (Typed (TypeBXXBXXEXXE f), Typed (TypeXXBXXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXBXXEXXE f) `applyTypeID` typeID (type_ :: TypeXXBXXEX p)
instance (Typed (TypeBXXXBXXEXE f), Typed (TypeXXXBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXBXXEXE f) `applyTypeID` typeID (type_ :: TypeXXXBXXE p)
instance (Typed (TypeBBXXXEXXXE f), Typed (TypeBXXXEXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXEXXXE f) `applyTypeID` typeID (type_ :: TypeBXXXEXX p)
instance (Typed (TypeBBXXXEBXXEXE f), Typed (TypeBXXXEBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXEBXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXXEBXXE p)
instance (Typed (TypeBBBXXEXEXXXE f), Typed (TypeBBXXEXEXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXEXXXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXEXX p)
instance (Typed (TypeBBBXXEXEBXXEXE f), Typed (TypeBBXXEXEBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXEBXXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXEBXXE p)
instance (Typed (TypeBXBXXXEXXE f), Typed (TypeXBXXXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXXEXXE f) `applyTypeID` typeID (type_ :: TypeXBXXXEX p)
instance (Typed (TypeBXBBXXEXEXXE f), Typed (TypeXBBXXEXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBXXEXEXXE f) `applyTypeID` typeID (type_ :: TypeXBBXXEXEX p)
instance (Typed (TypeBXXBXXXEXE f), Typed (TypeXXBXXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXBXXXEXE f) `applyTypeID` typeID (type_ :: TypeXXBXXXE p)
instance (Typed (TypeBXXBBXXEXEXE f), Typed (TypeXXBBXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXBBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeXXBBXXEXE p)
instance (Typed (TypeBBXXXXEXXE f), Typed (TypeBXXXXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXXEXXE f) `applyTypeID` typeID (type_ :: TypeBXXXXEX p)
instance (Typed (TypeBBBXXEXXEXXE f), Typed (TypeBBXXEXXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXXEXXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXXEX p)
instance (Typed (TypeBBXBXXEXEXXE f), Typed (TypeBXBXXEXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBXXEXEXXE f) `applyTypeID` typeID (type_ :: TypeBXBXXEXEX p)
instance (Typed (TypeBBBXXXEXEXXE f), Typed (TypeBBXXXEXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXXEXEXXE f) `applyTypeID` typeID (type_ :: TypeBBXXXEXEX p)
instance (Typed (TypeBBBBXXEXEXEXXE f), Typed (TypeBBBXXEXEXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXEXEXEXXE f) `applyTypeID` typeID (type_ :: TypeBBBXXEXEXEX p)
instance (Typed (TypeBXBXXXXEXE f), Typed (TypeXBXXXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXXXEXE f) `applyTypeID` typeID (type_ :: TypeXBXXXXE p)
instance (Typed (TypeBXBBXXEXXEXE f), Typed (TypeXBBXXEXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBXXEXXEXE f) `applyTypeID` typeID (type_ :: TypeXBBXXEXXE p)
instance (Typed (TypeBXBXBXXEXEXE f), Typed (TypeXBXBXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeXBXBXXEXE p)
instance (Typed (TypeBXBBXXXEXEXE f), Typed (TypeXBBXXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBXXXEXEXE f) `applyTypeID` typeID (type_ :: TypeXBBXXXEXE p)
instance (Typed (TypeBXBBBXXEXEXEXE f), Typed (TypeXBBBXXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBBXXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeXBBBXXEXEXE p)
instance (Typed (TypeBBXXXXXEXE f), Typed (TypeBXXXXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXXXXE p)
instance (Typed (TypeBBBXXEXXXEXE f), Typed (TypeBBXXEXXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXXXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXXXE p)
instance (Typed (TypeBBBXXEBXXEXEXE f), Typed (TypeBBXXEBXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXEBXXEXE p)
instance (Typed (TypeBBXBXXEXXEXE f), Typed (TypeBXBXXEXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBXXEXXEXE f) `applyTypeID` typeID (type_ :: TypeBXBXXEXXE p)
instance (Typed (TypeBBXXBXXEXEXE f), Typed (TypeBXXBXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBXXBXXEXE p)
instance (Typed (TypeBBBXXXEXXEXE f), Typed (TypeBBXXXEXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXXEXXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXXEXXE p)
instance (Typed (TypeBBBBXXEXEXXEXE f), Typed (TypeBBBXXEXEXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXEXEXXEXE f) `applyTypeID` typeID (type_ :: TypeBBBXXEXEXXE p)
instance (Typed (TypeBBXBXXXEXEXE f), Typed (TypeBXBXXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBXXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBXBXXXEXE p)
instance (Typed (TypeBBXBBXXEXEXEXE f), Typed (TypeBXBBXXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBBXXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeBXBBXXEXEXE p)
instance (Typed (TypeBBBXXXXEXEXE f), Typed (TypeBBXXXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXXXEXE p)
instance (Typed (TypeBBBBXXEXXEXEXE f), Typed (TypeBBBXXEXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXEXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBBXXEXXEXE p)
instance (Typed (TypeBBBXBXXEXEXEXE f), Typed (TypeBBXBXXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXBXXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBXBXXEXEXE p)
instance (Typed (TypeBBBBXXXEXEXEXE f), Typed (TypeBBBXXXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBBXXXEXEXE p)
instance (Typed (TypeBBBBBXXEXEXEXEXE f), Typed (TypeBBBBXXEXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBBXXEXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBBBXXEXEXEXE p)
instance (Typed (TypeXXXXXXX f), Typed (Type p)) => Typed (TypeXXXXXX (f p)) where
	typeID _ = typeID (type_ :: TypeXXXXXXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeBXXEXXXXX f), Typed (TypeX p)) => Typed (TypeXXXXX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEXXXXX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBXXEXXX f), Typed (TypeX p)) => Typed (TypeBXXEXXX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBXXEXXX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBXXEBXXEX f), Typed (TypeX p)) => Typed (TypeBXXEBXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBXXEBXXEX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBXXEXBXXE f), Typed (TypeX p)) => Typed (TypeBXXEXBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBXXEXBXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBXXEBXXXE f), Typed (TypeX p)) => Typed (TypeBXXEBXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBXXEBXXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBXXEBBXXEXE f), Typed (TypeX p)) => Typed (TypeBXXEBBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBXXEBBXXEXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEXBXXEXX f), Typed (TypeX p)) => Typed (TypeXBXXEXX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEXBXXEXX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEXBXXEBXXE f), Typed (TypeX p)) => Typed (TypeXBXXEBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEXBXXEBXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEXXBXXEX f), Typed (TypeX p)) => Typed (TypeXXBXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEXXBXXEX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEXXXBXXE f), Typed (TypeX p)) => Typed (TypeXXXBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEXXXBXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBXXXEXX f), Typed (TypeX p)) => Typed (TypeBXXXEXX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBXXXEXX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBXXXEBXXE f), Typed (TypeX p)) => Typed (TypeBXXXEBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBXXXEBXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBBXXEXEXX f), Typed (TypeX p)) => Typed (TypeBBXXEXEXX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBBXXEXEXX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBBXXEXEBXXE f), Typed (TypeX p)) => Typed (TypeBBXXEXEBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBBXXEXEBXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEXBXXXEX f), Typed (TypeX p)) => Typed (TypeXBXXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEXBXXXEX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEXBBXXEXEX f), Typed (TypeX p)) => Typed (TypeXBBXXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEXBBXXEXEX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEXXBXXXE f), Typed (TypeX p)) => Typed (TypeXXBXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEXXBXXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEXXBBXXEXE f), Typed (TypeX p)) => Typed (TypeXXBBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEXXBBXXEXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBXXXXEX f), Typed (TypeX p)) => Typed (TypeBXXXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBXXXXEX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBBXXEXXEX f), Typed (TypeX p)) => Typed (TypeBBXXEXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBBXXEXXEX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBXBXXEXEX f), Typed (TypeX p)) => Typed (TypeBXBXXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBXBXXEXEX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBBXXXEXEX f), Typed (TypeX p)) => Typed (TypeBBXXXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBBXXXEXEX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBBBXXEXEXEX f), Typed (TypeX p)) => Typed (TypeBBBXXEXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBBBXXEXEXEX f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEXBXXXXE f), Typed (TypeX p)) => Typed (TypeXBXXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEXBXXXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEXBBXXEXXE f), Typed (TypeX p)) => Typed (TypeXBBXXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEXBBXXEXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEXBXBXXEXE f), Typed (TypeX p)) => Typed (TypeXBXBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEXBXBXXEXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEXBBXXXEXE f), Typed (TypeX p)) => Typed (TypeXBBXXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEXBBXXXEXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEXBBBXXEXEXE f), Typed (TypeX p)) => Typed (TypeXBBBXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEXBBBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBXXXXXE f), Typed (TypeX p)) => Typed (TypeBXXXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBXXXXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBBXXEXXXE f), Typed (TypeX p)) => Typed (TypeBBXXEXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBBXXEXXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBBXXEBXXEXE f), Typed (TypeX p)) => Typed (TypeBBXXEBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBBXXEBXXEXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBXBXXEXXE f), Typed (TypeX p)) => Typed (TypeBXBXXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBXBXXEXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBXXBXXEXE f), Typed (TypeX p)) => Typed (TypeBXXBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBXXBXXEXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBBXXXEXXE f), Typed (TypeX p)) => Typed (TypeBBXXXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBBXXXEXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBBBXXEXEXXE f), Typed (TypeX p)) => Typed (TypeBBBXXEXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBBBXXEXEXXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBXBXXXEXE f), Typed (TypeX p)) => Typed (TypeBXBXXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBXBXXXEXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBXBBXXEXEXE f), Typed (TypeX p)) => Typed (TypeBXBBXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBXBBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBBXXXXEXE f), Typed (TypeX p)) => Typed (TypeBBXXXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBBXXXXEXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBBBXXEXXEXE f), Typed (TypeX p)) => Typed (TypeBBBXXEXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBBBXXEXXEXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBBXBXXEXEXE f), Typed (TypeX p)) => Typed (TypeBBXBXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBBXBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBBBXXXEXEXE f), Typed (TypeX p)) => Typed (TypeBBBXXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBBBXXXEXEXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeBXXEBBBBXXEXEXEXE f), Typed (TypeX p)) => Typed (TypeBBBBXXEXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXEBBBBXXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeX p)
instance (Typed (TypeXBXXEXXXX f), Typed (Type p)) => Typed (TypeBXXEXXXX (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXEXXXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXEBXXEXX f), Typed (Type p)) => Typed (TypeBXXEBXXEXX (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXEBXXEXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXEBXXEBXXE f), Typed (Type p)) => Typed (TypeBXXEBXXEBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXEBXXEBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXEXBXXEX f), Typed (Type p)) => Typed (TypeBXXEXBXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXEXBXXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXEXXBXXE f), Typed (Type p)) => Typed (TypeBXXEXXBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXEXXBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXEBXXXEX f), Typed (Type p)) => Typed (TypeBXXEBXXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXEBXXXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXEBBXXEXEX f), Typed (Type p)) => Typed (TypeBXXEBBXXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXEBBXXEXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXEXBXXXE f), Typed (Type p)) => Typed (TypeBXXEXBXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXEXBXXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXEXBBXXEXE f), Typed (Type p)) => Typed (TypeBXXEXBBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXEXBBXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXEBXXXXE f), Typed (Type p)) => Typed (TypeBXXEBXXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXEBXXXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXEBBXXEXXE f), Typed (Type p)) => Typed (TypeBXXEBBXXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXEBBXXEXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXEBXBXXEXE f), Typed (Type p)) => Typed (TypeBXXEBXBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXEBXBXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXEBBXXXEXE f), Typed (Type p)) => Typed (TypeBXXEBBXXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXEBBXXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXEBBBXXEXEXE f), Typed (Type p)) => Typed (TypeBXXEBBBXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXEBBBXXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBXXEXXX f), Typed (Type p)) => Typed (TypeXBXXEXXX (f p)) where
	typeID _ = typeID (type_ :: TypeXXBXXEXXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBXXEBXXEX f), Typed (Type p)) => Typed (TypeXBXXEBXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXXBXXEBXXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBXXEXBXXE f), Typed (Type p)) => Typed (TypeXBXXEXBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBXXEXBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBXXEBXXXE f), Typed (Type p)) => Typed (TypeXBXXEBXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBXXEBXXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBXXEBBXXEXE f), Typed (Type p)) => Typed (TypeXBXXEBBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBXXEBBXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXXBXXEXX f), Typed (Type p)) => Typed (TypeXXBXXEXX (f p)) where
	typeID _ = typeID (type_ :: TypeXXXBXXEXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXXBXXEBXXE f), Typed (Type p)) => Typed (TypeXXBXXEBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXXBXXEBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXXXBXXEX f), Typed (Type p)) => Typed (TypeXXXBXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXXXXBXXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXXXXBXXE f), Typed (Type p)) => Typed (TypeXXXXBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXXXXBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeBXXXEXXXX f), Typed (TypeXX p)) => Typed (TypeXXXX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXEXXXX f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBXXXEBXXEXX f), Typed (TypeXX p)) => Typed (TypeBXXEXX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXEBXXEXX f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBXXXEBXXEBXXE f), Typed (TypeXX p)) => Typed (TypeBXXEBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXEBXXEBXXE f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBXXXEXBXXEX f), Typed (TypeXX p)) => Typed (TypeXBXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXEXBXXEX f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBXXXEXXBXXE f), Typed (TypeXX p)) => Typed (TypeXXBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXEXXBXXE f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBXXXEBXXXEX f), Typed (TypeXX p)) => Typed (TypeBXXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXEBXXXEX f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBXXXEBBXXEXEX f), Typed (TypeXX p)) => Typed (TypeBBXXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXEBBXXEXEX f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBXXXEXBXXXE f), Typed (TypeXX p)) => Typed (TypeXBXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXEXBXXXE f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBXXXEXBBXXEXE f), Typed (TypeXX p)) => Typed (TypeXBBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXEXBBXXEXE f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBXXXEBXXXXE f), Typed (TypeXX p)) => Typed (TypeBXXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXEBXXXXE f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBXXXEBBXXEXXE f), Typed (TypeXX p)) => Typed (TypeBBXXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXEBBXXEXXE f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBXXXEBXBXXEXE f), Typed (TypeXX p)) => Typed (TypeBXBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXEBXBXXEXE f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBXXXEBBXXXEXE f), Typed (TypeXX p)) => Typed (TypeBBXXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXEBBXXXEXE f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBXXXEBBBXXEXEXE f), Typed (TypeXX p)) => Typed (TypeBBBXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXEBBBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeXX p)
instance (Typed (TypeBBXXEXEXXXX f), Typed (TypeBXXE p)) => Typed (TypeXXXX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXEXXXX f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeBBXXEXEBXXEXX f), Typed (TypeBXXE p)) => Typed (TypeBXXEXX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXEBXXEXX f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeBBXXEXEBXXEBXXE f), Typed (TypeBXXE p)) => Typed (TypeBXXEBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXEBXXEBXXE f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeBBXXEXEXBXXEX f), Typed (TypeBXXE p)) => Typed (TypeXBXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXEXBXXEX f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeBBXXEXEXXBXXE f), Typed (TypeBXXE p)) => Typed (TypeXXBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXEXXBXXE f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeBBXXEXEBXXXEX f), Typed (TypeBXXE p)) => Typed (TypeBXXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXEBXXXEX f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeBBXXEXEBBXXEXEX f), Typed (TypeBXXE p)) => Typed (TypeBBXXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXEBBXXEXEX f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeBBXXEXEXBXXXE f), Typed (TypeBXXE p)) => Typed (TypeXBXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXEXBXXXE f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeBBXXEXEXBBXXEXE f), Typed (TypeBXXE p)) => Typed (TypeXBBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXEXBBXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeBBXXEXEBXXXXE f), Typed (TypeBXXE p)) => Typed (TypeBXXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXEBXXXXE f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeBBXXEXEBBXXEXXE f), Typed (TypeBXXE p)) => Typed (TypeBBXXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXEBBXXEXXE f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeBBXXEXEBXBXXEXE f), Typed (TypeBXXE p)) => Typed (TypeBXBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXEBXBXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeBBXXEXEBBXXXEXE f), Typed (TypeBXXE p)) => Typed (TypeBBXXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXEBBXXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeBBXXEXEBBBXXEXEXE f), Typed (TypeBXXE p)) => Typed (TypeBBBXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXEBBBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBXXE p)
instance (Typed (TypeXBXXXEXXX f), Typed (Type p)) => Typed (TypeBXXXEXXX (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXXEXXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXXEBXXEX f), Typed (Type p)) => Typed (TypeBXXXEBXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXXEBXXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXXEXBXXE f), Typed (Type p)) => Typed (TypeBXXXEXBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXXEXBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXXEBXXXE f), Typed (Type p)) => Typed (TypeBXXXEBXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXXEBXXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXXEBBXXEXE f), Typed (Type p)) => Typed (TypeBXXXEBBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXXEBBXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXEXEXXX f), Typed (Type p)) => Typed (TypeBBXXEXEXXX (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXEXEXXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXEXEBXXEX f), Typed (Type p)) => Typed (TypeBBXXEXEBXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXEXEBXXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXEXEXBXXE f), Typed (Type p)) => Typed (TypeBBXXEXEXBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXEXEXBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXEXEBXXXE f), Typed (Type p)) => Typed (TypeBBXXEXEBXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXEXEBXXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXEXEBBXXEXE f), Typed (Type p)) => Typed (TypeBBXXEXEBBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXEXEBBXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBXXXEXX f), Typed (Type p)) => Typed (TypeXBXXXEXX (f p)) where
	typeID _ = typeID (type_ :: TypeXXBXXXEXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBXXXEBXXE f), Typed (Type p)) => Typed (TypeXBXXXEBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBXXXEBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBBXXEXEXX f), Typed (Type p)) => Typed (TypeXBBXXEXEXX (f p)) where
	typeID _ = typeID (type_ :: TypeXXBBXXEXEXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBBXXEXEBXXE f), Typed (Type p)) => Typed (TypeXBBXXEXEBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBBXXEXEBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXXBXXXEX f), Typed (Type p)) => Typed (TypeXXBXXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXXXBXXXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXXBBXXEXEX f), Typed (Type p)) => Typed (TypeXXBBXXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXXXBBXXEXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXXXBXXXE f), Typed (Type p)) => Typed (TypeXXXBXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXXXBXXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXXXBBXXEXE f), Typed (Type p)) => Typed (TypeXXXBBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXXXBBXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeBXXXXEXXX f), Typed (TypeXXX p)) => Typed (TypeXXX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXXEXXX f) `applyTypeID` typeID (type_ :: TypeXXX p)
instance (Typed (TypeBXXXXEBXXEX f), Typed (TypeXXX p)) => Typed (TypeBXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXXEBXXEX f) `applyTypeID` typeID (type_ :: TypeXXX p)
instance (Typed (TypeBXXXXEXBXXE f), Typed (TypeXXX p)) => Typed (TypeXBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXXEXBXXE f) `applyTypeID` typeID (type_ :: TypeXXX p)
instance (Typed (TypeBXXXXEBXXXE f), Typed (TypeXXX p)) => Typed (TypeBXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXXEBXXXE f) `applyTypeID` typeID (type_ :: TypeXXX p)
instance (Typed (TypeBXXXXEBBXXEXE f), Typed (TypeXXX p)) => Typed (TypeBBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXXEBBXXEXE f) `applyTypeID` typeID (type_ :: TypeXXX p)
instance (Typed (TypeBBXXEXXEXXX f), Typed (TypeBXXEX p)) => Typed (TypeXXX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXXEXXX f) `applyTypeID` typeID (type_ :: TypeBXXEX p)
instance (Typed (TypeBBXXEXXEBXXEX f), Typed (TypeBXXEX p)) => Typed (TypeBXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXXEBXXEX f) `applyTypeID` typeID (type_ :: TypeBXXEX p)
instance (Typed (TypeBBXXEXXEXBXXE f), Typed (TypeBXXEX p)) => Typed (TypeXBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXXEXBXXE f) `applyTypeID` typeID (type_ :: TypeBXXEX p)
instance (Typed (TypeBBXXEXXEBXXXE f), Typed (TypeBXXEX p)) => Typed (TypeBXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXXEBXXXE f) `applyTypeID` typeID (type_ :: TypeBXXEX p)
instance (Typed (TypeBBXXEXXEBBXXEXE f), Typed (TypeBXXEX p)) => Typed (TypeBBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXXEBBXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXEX p)
instance (Typed (TypeBXBXXEXEXXX f), Typed (TypeXBXXE p)) => Typed (TypeXXX (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXEXEXXX f) `applyTypeID` typeID (type_ :: TypeXBXXE p)
instance (Typed (TypeBXBXXEXEBXXEX f), Typed (TypeXBXXE p)) => Typed (TypeBXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXEXEBXXEX f) `applyTypeID` typeID (type_ :: TypeXBXXE p)
instance (Typed (TypeBXBXXEXEXBXXE f), Typed (TypeXBXXE p)) => Typed (TypeXBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXEXEXBXXE f) `applyTypeID` typeID (type_ :: TypeXBXXE p)
instance (Typed (TypeBXBXXEXEBXXXE f), Typed (TypeXBXXE p)) => Typed (TypeBXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXEXEBXXXE f) `applyTypeID` typeID (type_ :: TypeXBXXE p)
instance (Typed (TypeBXBXXEXEBBXXEXE f), Typed (TypeXBXXE p)) => Typed (TypeBBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXEXEBBXXEXE f) `applyTypeID` typeID (type_ :: TypeXBXXE p)
instance (Typed (TypeBBXXXEXEXXX f), Typed (TypeBXXXE p)) => Typed (TypeXXX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXEXEXXX f) `applyTypeID` typeID (type_ :: TypeBXXXE p)
instance (Typed (TypeBBXXXEXEBXXEX f), Typed (TypeBXXXE p)) => Typed (TypeBXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXEXEBXXEX f) `applyTypeID` typeID (type_ :: TypeBXXXE p)
instance (Typed (TypeBBXXXEXEXBXXE f), Typed (TypeBXXXE p)) => Typed (TypeXBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXEXEXBXXE f) `applyTypeID` typeID (type_ :: TypeBXXXE p)
instance (Typed (TypeBBXXXEXEBXXXE f), Typed (TypeBXXXE p)) => Typed (TypeBXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXEXEBXXXE f) `applyTypeID` typeID (type_ :: TypeBXXXE p)
instance (Typed (TypeBBXXXEXEBBXXEXE f), Typed (TypeBXXXE p)) => Typed (TypeBBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXEXEBBXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXXE p)
instance (Typed (TypeBBBXXEXEXEXXX f), Typed (TypeBBXXEXE p)) => Typed (TypeXXX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXEXEXXX f) `applyTypeID` typeID (type_ :: TypeBBXXEXE p)
instance (Typed (TypeBBBXXEXEXEBXXEX f), Typed (TypeBBXXEXE p)) => Typed (TypeBXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXEXEBXXEX f) `applyTypeID` typeID (type_ :: TypeBBXXEXE p)
instance (Typed (TypeBBBXXEXEXEXBXXE f), Typed (TypeBBXXEXE p)) => Typed (TypeXBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXEXEXBXXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXE p)
instance (Typed (TypeBBBXXEXEXEBXXXE f), Typed (TypeBBXXEXE p)) => Typed (TypeBXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXEXEBXXXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXE p)
instance (Typed (TypeBBBXXEXEXEBBXXEXE f), Typed (TypeBBXXEXE p)) => Typed (TypeBBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXEXEBBXXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXE p)
instance (Typed (TypeXBXXXXEXX f), Typed (Type p)) => Typed (TypeBXXXXEXX (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXXXEXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXXXEBXXE f), Typed (Type p)) => Typed (TypeBXXXXEBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXXXEBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXEXXEXX f), Typed (Type p)) => Typed (TypeBBXXEXXEXX (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXEXXEXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXEXXEBXXE f), Typed (Type p)) => Typed (TypeBBXXEXXEBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXEXXEBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXBXXEXEXX f), Typed (Type p)) => Typed (TypeBXBXXEXEXX (f p)) where
	typeID _ = typeID (type_ :: TypeXBXBXXEXEXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXBXXEXEBXXE f), Typed (Type p)) => Typed (TypeBXBXXEXEBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXBXXEXEBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXXEXEXX f), Typed (Type p)) => Typed (TypeBBXXXEXEXX (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXXEXEXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXXEXEBXXE f), Typed (Type p)) => Typed (TypeBBXXXEXEBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXXEXEBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBXXEXEXEXX f), Typed (Type p)) => Typed (TypeBBBXXEXEXEXX (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBXXEXEXEXX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBXXEXEXEBXXE f), Typed (Type p)) => Typed (TypeBBBXXEXEXEBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBXXEXEXEBXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBXXXXEX f), Typed (Type p)) => Typed (TypeXBXXXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXXBXXXXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBBXXEXXEX f), Typed (Type p)) => Typed (TypeXBBXXEXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXXBBXXEXXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBXBXXEXEX f), Typed (Type p)) => Typed (TypeXBXBXXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXXBXBXXEXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBBXXXEXEX f), Typed (Type p)) => Typed (TypeXBBXXXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXXBBXXXEXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBBBXXEXEXEX f), Typed (Type p)) => Typed (TypeXBBBXXEXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXXBBBXXEXEXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXXBXXXXE f), Typed (Type p)) => Typed (TypeXXBXXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXXBXXXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXXBBXXEXXE f), Typed (Type p)) => Typed (TypeXXBBXXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXXBBXXEXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXXBXBXXEXE f), Typed (Type p)) => Typed (TypeXXBXBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXXBXBXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXXBBXXXEXE f), Typed (Type p)) => Typed (TypeXXBBXXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXXBBXXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXXBBBXXEXEXE f), Typed (Type p)) => Typed (TypeXXBBBXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXXBBBXXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeBXXXXXEXX f), Typed (TypeXXXX p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXXXEXX f) `applyTypeID` typeID (type_ :: TypeXXXX p)
instance (Typed (TypeBXXXXXEBXXE f), Typed (TypeXXXX p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXXXEBXXE f) `applyTypeID` typeID (type_ :: TypeXXXX p)
instance (Typed (TypeBBXXEXXXEXX f), Typed (TypeBXXEXX p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXXXEXX f) `applyTypeID` typeID (type_ :: TypeBXXEXX p)
instance (Typed (TypeBBXXEXXXEBXXE f), Typed (TypeBXXEXX p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXXXEBXXE f) `applyTypeID` typeID (type_ :: TypeBXXEXX p)
instance (Typed (TypeBBXXEBXXEXEXX f), Typed (TypeBXXEBXXE p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEBXXEXEXX f) `applyTypeID` typeID (type_ :: TypeBXXEBXXE p)
instance (Typed (TypeBBXXEBXXEXEBXXE f), Typed (TypeBXXEBXXE p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEBXXEXEBXXE f) `applyTypeID` typeID (type_ :: TypeBXXEBXXE p)
instance (Typed (TypeBXBXXEXXEXX f), Typed (TypeXBXXEX p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXEXXEXX f) `applyTypeID` typeID (type_ :: TypeXBXXEX p)
instance (Typed (TypeBXBXXEXXEBXXE f), Typed (TypeXBXXEX p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXEXXEBXXE f) `applyTypeID` typeID (type_ :: TypeXBXXEX p)
instance (Typed (TypeBXXBXXEXEXX f), Typed (TypeXXBXXE p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXBXXEXEXX f) `applyTypeID` typeID (type_ :: TypeXXBXXE p)
instance (Typed (TypeBXXBXXEXEBXXE f), Typed (TypeXXBXXE p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXXBXXEXEBXXE f) `applyTypeID` typeID (type_ :: TypeXXBXXE p)
instance (Typed (TypeBBXXXEXXEXX f), Typed (TypeBXXXEX p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXEXXEXX f) `applyTypeID` typeID (type_ :: TypeBXXXEX p)
instance (Typed (TypeBBXXXEXXEBXXE f), Typed (TypeBXXXEX p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXEXXEBXXE f) `applyTypeID` typeID (type_ :: TypeBXXXEX p)
instance (Typed (TypeBBBXXEXEXXEXX f), Typed (TypeBBXXEXEX p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXEXXEXX f) `applyTypeID` typeID (type_ :: TypeBBXXEXEX p)
instance (Typed (TypeBBBXXEXEXXEBXXE f), Typed (TypeBBXXEXEX p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXEXXEBXXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXEX p)
instance (Typed (TypeBXBXXXEXEXX f), Typed (TypeXBXXXE p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXXEXEXX f) `applyTypeID` typeID (type_ :: TypeXBXXXE p)
instance (Typed (TypeBXBXXXEXEBXXE f), Typed (TypeXBXXXE p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXXEXEBXXE f) `applyTypeID` typeID (type_ :: TypeXBXXXE p)
instance (Typed (TypeBXBBXXEXEXEXX f), Typed (TypeXBBXXEXE p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBXXEXEXEXX f) `applyTypeID` typeID (type_ :: TypeXBBXXEXE p)
instance (Typed (TypeBXBBXXEXEXEBXXE f), Typed (TypeXBBXXEXE p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBXXEXEXEBXXE f) `applyTypeID` typeID (type_ :: TypeXBBXXEXE p)
instance (Typed (TypeBBXXXXEXEXX f), Typed (TypeBXXXXE p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXXEXEXX f) `applyTypeID` typeID (type_ :: TypeBXXXXE p)
instance (Typed (TypeBBXXXXEXEBXXE f), Typed (TypeBXXXXE p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXXEXEBXXE f) `applyTypeID` typeID (type_ :: TypeBXXXXE p)
instance (Typed (TypeBBBXXEXXEXEXX f), Typed (TypeBBXXEXXE p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXXEXEXX f) `applyTypeID` typeID (type_ :: TypeBBXXEXXE p)
instance (Typed (TypeBBBXXEXXEXEBXXE f), Typed (TypeBBXXEXXE p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXXEXEBXXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXXE p)
instance (Typed (TypeBBXBXXEXEXEXX f), Typed (TypeBXBXXEXE p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBXXEXEXEXX f) `applyTypeID` typeID (type_ :: TypeBXBXXEXE p)
instance (Typed (TypeBBXBXXEXEXEBXXE f), Typed (TypeBXBXXEXE p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBXXEXEXEBXXE f) `applyTypeID` typeID (type_ :: TypeBXBXXEXE p)
instance (Typed (TypeBBBXXXEXEXEXX f), Typed (TypeBBXXXEXE p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXXEXEXEXX f) `applyTypeID` typeID (type_ :: TypeBBXXXEXE p)
instance (Typed (TypeBBBXXXEXEXEBXXE f), Typed (TypeBBXXXEXE p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXXEXEXEBXXE f) `applyTypeID` typeID (type_ :: TypeBBXXXEXE p)
instance (Typed (TypeBBBBXXEXEXEXEXX f), Typed (TypeBBBXXEXEXE p)) => Typed (TypeXX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXEXEXEXEXX f) `applyTypeID` typeID (type_ :: TypeBBBXXEXEXE p)
instance (Typed (TypeBBBBXXEXEXEXEBXXE f), Typed (TypeBBBXXEXEXE p)) => Typed (TypeBXXE (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXEXEXEXEBXXE f) `applyTypeID` typeID (type_ :: TypeBBBXXEXEXE p)
instance (Typed (TypeXBXXXXXEX f), Typed (Type p)) => Typed (TypeBXXXXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXXXXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXEXXXEX f), Typed (Type p)) => Typed (TypeBBXXEXXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXEXXXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXEBXXEXEX f), Typed (Type p)) => Typed (TypeBBXXEBXXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXEBXXEXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXBXXEXXEX f), Typed (Type p)) => Typed (TypeBXBXXEXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBXBXXEXXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXBXXEXEX f), Typed (Type p)) => Typed (TypeBXXBXXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXBXXEXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXXEXXEX f), Typed (Type p)) => Typed (TypeBBXXXEXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXXEXXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBXXEXEXXEX f), Typed (Type p)) => Typed (TypeBBBXXEXEXXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBXXEXEXXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXBXXXEXEX f), Typed (Type p)) => Typed (TypeBXBXXXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBXBXXXEXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXBBXXEXEXEX f), Typed (Type p)) => Typed (TypeBXBBXXEXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBXBBXXEXEXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXXXEXEX f), Typed (Type p)) => Typed (TypeBBXXXXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXXXEXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBXXEXXEXEX f), Typed (Type p)) => Typed (TypeBBBXXEXXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBXXEXXEXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXBXXEXEXEX f), Typed (Type p)) => Typed (TypeBBXBXXEXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXBXXEXEXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBXXXEXEXEX f), Typed (Type p)) => Typed (TypeBBBXXXEXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBXXXEXEXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBBXXEXEXEXEX f), Typed (Type p)) => Typed (TypeBBBBXXEXEXEXEX (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBBXXEXEXEXEX f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBXXXXXE f), Typed (Type p)) => Typed (TypeXBXXXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBXXXXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBBXXEXXXE f), Typed (Type p)) => Typed (TypeXBBXXEXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBBXXEXXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBBXXEBXXEXE f), Typed (Type p)) => Typed (TypeXBBXXEBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBBXXEBXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBXBXXEXXE f), Typed (Type p)) => Typed (TypeXBXBXXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBXBXXEXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBXXBXXEXE f), Typed (Type p)) => Typed (TypeXBXXBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBXXBXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBBXXXEXXE f), Typed (Type p)) => Typed (TypeXBBXXXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBBXXXEXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBBBXXEXEXXE f), Typed (Type p)) => Typed (TypeXBBBXXEXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBBBXXEXEXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBXBXXXEXE f), Typed (Type p)) => Typed (TypeXBXBXXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBXBXXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBXBBXXEXEXE f), Typed (Type p)) => Typed (TypeXBXBBXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBXBBXXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBBXXXXEXE f), Typed (Type p)) => Typed (TypeXBBXXXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBBXXXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBBBXXEXXEXE f), Typed (Type p)) => Typed (TypeXBBBXXEXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBBBXXEXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBBXBXXEXEXE f), Typed (Type p)) => Typed (TypeXBBXBXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBBXBXXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBBBXXXEXEXE f), Typed (Type p)) => Typed (TypeXBBBXXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBBBXXXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXXBBBBXXEXEXEXE f), Typed (Type p)) => Typed (TypeXBBBBXXEXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXXBBBBXXEXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeBXXXXXXEX f), Typed (TypeXXXXX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXXXXEX f) `applyTypeID` typeID (type_ :: TypeXXXXX p)
instance (Typed (TypeBBXXEXXXXEX f), Typed (TypeBXXEXXX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXXXXEX f) `applyTypeID` typeID (type_ :: TypeBXXEXXX p)
instance (Typed (TypeBBXXEBXXEXXEX f), Typed (TypeBXXEBXXEX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEBXXEXXEX f) `applyTypeID` typeID (type_ :: TypeBXXEBXXEX p)
instance (Typed (TypeBBXXEXBXXEXEX f), Typed (TypeBXXEXBXXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXBXXEXEX f) `applyTypeID` typeID (type_ :: TypeBXXEXBXXE p)
instance (Typed (TypeBBXXEBXXXEXEX f), Typed (TypeBXXEBXXXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEBXXXEXEX f) `applyTypeID` typeID (type_ :: TypeBXXEBXXXE p)
instance (Typed (TypeBBXXEBBXXEXEXEX f), Typed (TypeBXXEBBXXEXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEBBXXEXEXEX f) `applyTypeID` typeID (type_ :: TypeBXXEBBXXEXE p)
instance (Typed (TypeBXBXXEXXXEX f), Typed (TypeXBXXEXX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXEXXXEX f) `applyTypeID` typeID (type_ :: TypeXBXXEXX p)
instance (Typed (TypeBXBXXEBXXEXEX f), Typed (TypeXBXXEBXXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXEBXXEXEX f) `applyTypeID` typeID (type_ :: TypeXBXXEBXXE p)
instance (Typed (TypeBXXBXXEXXEX f), Typed (TypeXXBXXEX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXBXXEXXEX f) `applyTypeID` typeID (type_ :: TypeXXBXXEX p)
instance (Typed (TypeBXXXBXXEXEX f), Typed (TypeXXXBXXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXBXXEXEX f) `applyTypeID` typeID (type_ :: TypeXXXBXXE p)
instance (Typed (TypeBBXXXEXXXEX f), Typed (TypeBXXXEXX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXEXXXEX f) `applyTypeID` typeID (type_ :: TypeBXXXEXX p)
instance (Typed (TypeBBXXXEBXXEXEX f), Typed (TypeBXXXEBXXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXEBXXEXEX f) `applyTypeID` typeID (type_ :: TypeBXXXEBXXE p)
instance (Typed (TypeBBBXXEXEXXXEX f), Typed (TypeBBXXEXEXX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXEXXXEX f) `applyTypeID` typeID (type_ :: TypeBBXXEXEXX p)
instance (Typed (TypeBBBXXEXEBXXEXEX f), Typed (TypeBBXXEXEBXXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXEBXXEXEX f) `applyTypeID` typeID (type_ :: TypeBBXXEXEBXXE p)
instance (Typed (TypeBXBXXXEXXEX f), Typed (TypeXBXXXEX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXXEXXEX f) `applyTypeID` typeID (type_ :: TypeXBXXXEX p)
instance (Typed (TypeBXBBXXEXEXXEX f), Typed (TypeXBBXXEXEX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBXXEXEXXEX f) `applyTypeID` typeID (type_ :: TypeXBBXXEXEX p)
instance (Typed (TypeBXXBXXXEXEX f), Typed (TypeXXBXXXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXBXXXEXEX f) `applyTypeID` typeID (type_ :: TypeXXBXXXE p)
instance (Typed (TypeBXXBBXXEXEXEX f), Typed (TypeXXBBXXEXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXXBBXXEXEXEX f) `applyTypeID` typeID (type_ :: TypeXXBBXXEXE p)
instance (Typed (TypeBBXXXXEXXEX f), Typed (TypeBXXXXEX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXXEXXEX f) `applyTypeID` typeID (type_ :: TypeBXXXXEX p)
instance (Typed (TypeBBBXXEXXEXXEX f), Typed (TypeBBXXEXXEX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXXEXXEX f) `applyTypeID` typeID (type_ :: TypeBBXXEXXEX p)
instance (Typed (TypeBBXBXXEXEXXEX f), Typed (TypeBXBXXEXEX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBXXEXEXXEX f) `applyTypeID` typeID (type_ :: TypeBXBXXEXEX p)
instance (Typed (TypeBBBXXXEXEXXEX f), Typed (TypeBBXXXEXEX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXXEXEXXEX f) `applyTypeID` typeID (type_ :: TypeBBXXXEXEX p)
instance (Typed (TypeBBBBXXEXEXEXXEX f), Typed (TypeBBBXXEXEXEX p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXEXEXEXXEX f) `applyTypeID` typeID (type_ :: TypeBBBXXEXEXEX p)
instance (Typed (TypeBXBXXXXEXEX f), Typed (TypeXBXXXXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXXXEXEX f) `applyTypeID` typeID (type_ :: TypeXBXXXXE p)
instance (Typed (TypeBXBBXXEXXEXEX f), Typed (TypeXBBXXEXXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBXXEXXEXEX f) `applyTypeID` typeID (type_ :: TypeXBBXXEXXE p)
instance (Typed (TypeBXBXBXXEXEXEX f), Typed (TypeXBXBXXEXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXBXXEXEXEX f) `applyTypeID` typeID (type_ :: TypeXBXBXXEXE p)
instance (Typed (TypeBXBBXXXEXEXEX f), Typed (TypeXBBXXXEXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBXXXEXEXEX f) `applyTypeID` typeID (type_ :: TypeXBBXXXEXE p)
instance (Typed (TypeBXBBBXXEXEXEXEX f), Typed (TypeXBBBXXEXEXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBBXXEXEXEXEX f) `applyTypeID` typeID (type_ :: TypeXBBBXXEXEXE p)
instance (Typed (TypeBBXXXXXEXEX f), Typed (TypeBXXXXXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXXXEXEX f) `applyTypeID` typeID (type_ :: TypeBXXXXXE p)
instance (Typed (TypeBBBXXEXXXEXEX f), Typed (TypeBBXXEXXXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXXXEXEX f) `applyTypeID` typeID (type_ :: TypeBBXXEXXXE p)
instance (Typed (TypeBBBXXEBXXEXEXEX f), Typed (TypeBBXXEBXXEXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEBXXEXEXEX f) `applyTypeID` typeID (type_ :: TypeBBXXEBXXEXE p)
instance (Typed (TypeBBXBXXEXXEXEX f), Typed (TypeBXBXXEXXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBXXEXXEXEX f) `applyTypeID` typeID (type_ :: TypeBXBXXEXXE p)
instance (Typed (TypeBBXXBXXEXEXEX f), Typed (TypeBXXBXXEXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXBXXEXEXEX f) `applyTypeID` typeID (type_ :: TypeBXXBXXEXE p)
instance (Typed (TypeBBBXXXEXXEXEX f), Typed (TypeBBXXXEXXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXXEXXEXEX f) `applyTypeID` typeID (type_ :: TypeBBXXXEXXE p)
instance (Typed (TypeBBBBXXEXEXXEXEX f), Typed (TypeBBBXXEXEXXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXEXEXXEXEX f) `applyTypeID` typeID (type_ :: TypeBBBXXEXEXXE p)
instance (Typed (TypeBBXBXXXEXEXEX f), Typed (TypeBXBXXXEXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBXXXEXEXEX f) `applyTypeID` typeID (type_ :: TypeBXBXXXEXE p)
instance (Typed (TypeBBXBBXXEXEXEXEX f), Typed (TypeBXBBXXEXEXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBBXXEXEXEXEX f) `applyTypeID` typeID (type_ :: TypeBXBBXXEXEXE p)
instance (Typed (TypeBBBXXXXEXEXEX f), Typed (TypeBBXXXXEXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXXXEXEXEX f) `applyTypeID` typeID (type_ :: TypeBBXXXXEXE p)
instance (Typed (TypeBBBBXXEXXEXEXEX f), Typed (TypeBBBXXEXXEXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXEXXEXEXEX f) `applyTypeID` typeID (type_ :: TypeBBBXXEXXEXE p)
instance (Typed (TypeBBBXBXXEXEXEXEX f), Typed (TypeBBXBXXEXEXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXBXXEXEXEXEX f) `applyTypeID` typeID (type_ :: TypeBBXBXXEXEXE p)
instance (Typed (TypeBBBBXXXEXEXEXEX f), Typed (TypeBBBXXXEXEXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXXEXEXEXEX f) `applyTypeID` typeID (type_ :: TypeBBBXXXEXEXE p)
instance (Typed (TypeBBBBBXXEXEXEXEXEX f), Typed (TypeBBBBXXEXEXEXE p)) => Typed (TypeX (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBBXXEXEXEXEXEX f) `applyTypeID` typeID (type_ :: TypeBBBBXXEXEXEXE p)
instance (Typed (TypeXBXXXXXXE f), Typed (Type p)) => Typed (TypeBXXXXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXXXXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXEXXXXE f), Typed (Type p)) => Typed (TypeBBXXEXXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXEXXXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXEBXXEXXE f), Typed (Type p)) => Typed (TypeBBXXEBXXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXEBXXEXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXEXBXXEXE f), Typed (Type p)) => Typed (TypeBBXXEXBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXEXBXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXEBXXXEXE f), Typed (Type p)) => Typed (TypeBBXXEBXXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXEBXXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXEBBXXEXEXE f), Typed (Type p)) => Typed (TypeBBXXEBBXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXEBBXXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXBXXEXXXE f), Typed (Type p)) => Typed (TypeBXBXXEXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXBXXEXXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXBXXEBXXEXE f), Typed (Type p)) => Typed (TypeBXBXXEBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXBXXEBXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXBXXEXXE f), Typed (Type p)) => Typed (TypeBXXBXXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXBXXEXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXXBXXEXE f), Typed (Type p)) => Typed (TypeBXXXBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXXBXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXXEXXXE f), Typed (Type p)) => Typed (TypeBBXXXEXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXXEXXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXXEBXXEXE f), Typed (Type p)) => Typed (TypeBBXXXEBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXXEBXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBXXEXEXXXE f), Typed (Type p)) => Typed (TypeBBBXXEXEXXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBXXEXEXXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBXXEXEBXXEXE f), Typed (Type p)) => Typed (TypeBBBXXEXEBXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBXXEXEBXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXBXXXEXXE f), Typed (Type p)) => Typed (TypeBXBXXXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXBXXXEXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXBBXXEXEXXE f), Typed (Type p)) => Typed (TypeBXBBXXEXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXBBXXEXEXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXBXXXEXE f), Typed (Type p)) => Typed (TypeBXXBXXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXBXXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXXBBXXEXEXE f), Typed (Type p)) => Typed (TypeBXXBBXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXXBBXXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXXXEXXE f), Typed (Type p)) => Typed (TypeBBXXXXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXXXEXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBXXEXXEXXE f), Typed (Type p)) => Typed (TypeBBBXXEXXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBXXEXXEXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXBXXEXEXXE f), Typed (Type p)) => Typed (TypeBBXBXXEXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXBXXEXEXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBXXXEXEXXE f), Typed (Type p)) => Typed (TypeBBBXXXEXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBXXXEXEXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBBXXEXEXEXXE f), Typed (Type p)) => Typed (TypeBBBBXXEXEXEXXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBBXXEXEXEXXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXBXXXXEXE f), Typed (Type p)) => Typed (TypeBXBXXXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXBXXXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXBBXXEXXEXE f), Typed (Type p)) => Typed (TypeBXBBXXEXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXBBXXEXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXBXBXXEXEXE f), Typed (Type p)) => Typed (TypeBXBXBXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXBXBXXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXBBXXXEXEXE f), Typed (Type p)) => Typed (TypeBXBBXXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXBBXXXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBXBBBXXEXEXEXE f), Typed (Type p)) => Typed (TypeBXBBBXXEXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBXBBBXXEXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXXXXEXE f), Typed (Type p)) => Typed (TypeBBXXXXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXXXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBXXEXXXEXE f), Typed (Type p)) => Typed (TypeBBBXXEXXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBXXEXXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBXXEBXXEXEXE f), Typed (Type p)) => Typed (TypeBBBXXEBXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBXXEBXXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXBXXEXXEXE f), Typed (Type p)) => Typed (TypeBBXBXXEXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXBXXEXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXXBXXEXEXE f), Typed (Type p)) => Typed (TypeBBXXBXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXXBXXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBXXXEXXEXE f), Typed (Type p)) => Typed (TypeBBBXXXEXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBXXXEXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBBXXEXEXXEXE f), Typed (Type p)) => Typed (TypeBBBBXXEXEXXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBBXXEXEXXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXBXXXEXEXE f), Typed (Type p)) => Typed (TypeBBXBXXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXBXXXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBXBBXXEXEXEXE f), Typed (Type p)) => Typed (TypeBBXBBXXEXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBXBBXXEXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBXXXXEXEXE f), Typed (Type p)) => Typed (TypeBBBXXXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBXXXXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBBXXEXXEXEXE f), Typed (Type p)) => Typed (TypeBBBBXXEXXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBBXXEXXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBXBXXEXEXEXE f), Typed (Type p)) => Typed (TypeBBBXBXXEXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBXBXXEXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBBXXXEXEXEXE f), Typed (Type p)) => Typed (TypeBBBBXXXEXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBBXXXEXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeXBBBBBXXEXEXEXEXE f), Typed (Type p)) => Typed (TypeBBBBBXXEXEXEXEXE (f p)) where
	typeID _ = typeID (type_ :: TypeXBBBBBXXEXEXEXEXE f) `applyTypeID` typeID (type_ :: Type p)
instance (Typed (TypeBXXXXXXXE f), Typed (TypeXXXXXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXXXXXE f) `applyTypeID` typeID (type_ :: TypeXXXXXX p)
instance (Typed (TypeBBXXEXXXXXE f), Typed (TypeBXXEXXXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXXXXXE f) `applyTypeID` typeID (type_ :: TypeBXXEXXXX p)
instance (Typed (TypeBBXXEBXXEXXXE f), Typed (TypeBXXEBXXEXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEBXXEXXXE f) `applyTypeID` typeID (type_ :: TypeBXXEBXXEXX p)
instance (Typed (TypeBBXXEBXXEBXXEXE f), Typed (TypeBXXEBXXEBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEBXXEBXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXEBXXEBXXE p)
instance (Typed (TypeBBXXEXBXXEXXE f), Typed (TypeBXXEXBXXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXBXXEXXE f) `applyTypeID` typeID (type_ :: TypeBXXEXBXXEX p)
instance (Typed (TypeBBXXEXXBXXEXE f), Typed (TypeBXXEXXBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXXBXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXEXXBXXE p)
instance (Typed (TypeBBXXEBXXXEXXE f), Typed (TypeBXXEBXXXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEBXXXEXXE f) `applyTypeID` typeID (type_ :: TypeBXXEBXXXEX p)
instance (Typed (TypeBBXXEBBXXEXEXXE f), Typed (TypeBXXEBBXXEXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEBBXXEXEXXE f) `applyTypeID` typeID (type_ :: TypeBXXEBBXXEXEX p)
instance (Typed (TypeBBXXEXBXXXEXE f), Typed (TypeBXXEXBXXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXBXXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXEXBXXXE p)
instance (Typed (TypeBBXXEXBBXXEXEXE f), Typed (TypeBXXEXBBXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEXBBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBXXEXBBXXEXE p)
instance (Typed (TypeBBXXEBXXXXEXE f), Typed (TypeBXXEBXXXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEBXXXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXEBXXXXE p)
instance (Typed (TypeBBXXEBBXXEXXEXE f), Typed (TypeBXXEBBXXEXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEBBXXEXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXEBBXXEXXE p)
instance (Typed (TypeBBXXEBXBXXEXEXE f), Typed (TypeBXXEBXBXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEBXBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBXXEBXBXXEXE p)
instance (Typed (TypeBBXXEBBXXXEXEXE f), Typed (TypeBXXEBBXXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEBBXXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBXXEBBXXXEXE p)
instance (Typed (TypeBBXXEBBBXXEXEXEXE f), Typed (TypeBXXEBBBXXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXEBBBXXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeBXXEBBBXXEXEXE p)
instance (Typed (TypeBXBXXEXXXXE f), Typed (TypeXBXXEXXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXEXXXXE f) `applyTypeID` typeID (type_ :: TypeXBXXEXXX p)
instance (Typed (TypeBXBXXEBXXEXXE f), Typed (TypeXBXXEBXXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXEBXXEXXE f) `applyTypeID` typeID (type_ :: TypeXBXXEBXXEX p)
instance (Typed (TypeBXBXXEXBXXEXE f), Typed (TypeXBXXEXBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXEXBXXEXE f) `applyTypeID` typeID (type_ :: TypeXBXXEXBXXE p)
instance (Typed (TypeBXBXXEBXXXEXE f), Typed (TypeXBXXEBXXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXEBXXXEXE f) `applyTypeID` typeID (type_ :: TypeXBXXEBXXXE p)
instance (Typed (TypeBXBXXEBBXXEXEXE f), Typed (TypeXBXXEBBXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXEBBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeXBXXEBBXXEXE p)
instance (Typed (TypeBXXBXXEXXXE f), Typed (TypeXXBXXEXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXBXXEXXXE f) `applyTypeID` typeID (type_ :: TypeXXBXXEXX p)
instance (Typed (TypeBXXBXXEBXXEXE f), Typed (TypeXXBXXEBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXBXXEBXXEXE f) `applyTypeID` typeID (type_ :: TypeXXBXXEBXXE p)
instance (Typed (TypeBXXXBXXEXXE f), Typed (TypeXXXBXXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXBXXEXXE f) `applyTypeID` typeID (type_ :: TypeXXXBXXEX p)
instance (Typed (TypeBXXXXBXXEXE f), Typed (TypeXXXXBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXXBXXEXE f) `applyTypeID` typeID (type_ :: TypeXXXXBXXE p)
instance (Typed (TypeBBXXXEXXXXE f), Typed (TypeBXXXEXXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXEXXXXE f) `applyTypeID` typeID (type_ :: TypeBXXXEXXX p)
instance (Typed (TypeBBXXXEBXXEXXE f), Typed (TypeBXXXEBXXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXEBXXEXXE f) `applyTypeID` typeID (type_ :: TypeBXXXEBXXEX p)
instance (Typed (TypeBBXXXEXBXXEXE f), Typed (TypeBXXXEXBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXEXBXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXXEXBXXE p)
instance (Typed (TypeBBXXXEBXXXEXE f), Typed (TypeBXXXEBXXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXEBXXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXXEBXXXE p)
instance (Typed (TypeBBXXXEBBXXEXEXE f), Typed (TypeBXXXEBBXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXEBBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBXXXEBBXXEXE p)
instance (Typed (TypeBBBXXEXEXXXXE f), Typed (TypeBBXXEXEXXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXEXXXXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXEXXX p)
instance (Typed (TypeBBBXXEXEBXXEXXE f), Typed (TypeBBXXEXEBXXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXEBXXEXXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXEBXXEX p)
instance (Typed (TypeBBBXXEXEXBXXEXE f), Typed (TypeBBXXEXEXBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXEXBXXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXEXBXXE p)
instance (Typed (TypeBBBXXEXEBXXXEXE f), Typed (TypeBBXXEXEBXXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXEBXXXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXEBXXXE p)
instance (Typed (TypeBBBXXEXEBBXXEXEXE f), Typed (TypeBBXXEXEBBXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXEBBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXEBBXXEXE p)
instance (Typed (TypeBXBXXXEXXXE f), Typed (TypeXBXXXEXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXXEXXXE f) `applyTypeID` typeID (type_ :: TypeXBXXXEXX p)
instance (Typed (TypeBXBXXXEBXXEXE f), Typed (TypeXBXXXEBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXXEBXXEXE f) `applyTypeID` typeID (type_ :: TypeXBXXXEBXXE p)
instance (Typed (TypeBXBBXXEXEXXXE f), Typed (TypeXBBXXEXEXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBXXEXEXXXE f) `applyTypeID` typeID (type_ :: TypeXBBXXEXEXX p)
instance (Typed (TypeBXBBXXEXEBXXEXE f), Typed (TypeXBBXXEXEBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBXXEXEBXXEXE f) `applyTypeID` typeID (type_ :: TypeXBBXXEXEBXXE p)
instance (Typed (TypeBXXBXXXEXXE f), Typed (TypeXXBXXXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXBXXXEXXE f) `applyTypeID` typeID (type_ :: TypeXXBXXXEX p)
instance (Typed (TypeBXXBBXXEXEXXE f), Typed (TypeXXBBXXEXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXBBXXEXEXXE f) `applyTypeID` typeID (type_ :: TypeXXBBXXEXEX p)
instance (Typed (TypeBXXXBXXXEXE f), Typed (TypeXXXBXXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXBXXXEXE f) `applyTypeID` typeID (type_ :: TypeXXXBXXXE p)
instance (Typed (TypeBXXXBBXXEXEXE f), Typed (TypeXXXBBXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXXBBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeXXXBBXXEXE p)
instance (Typed (TypeBBXXXXEXXXE f), Typed (TypeBXXXXEXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXXEXXXE f) `applyTypeID` typeID (type_ :: TypeBXXXXEXX p)
instance (Typed (TypeBBXXXXEBXXEXE f), Typed (TypeBXXXXEBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXXEBXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXXXEBXXE p)
instance (Typed (TypeBBBXXEXXEXXXE f), Typed (TypeBBXXEXXEXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXXEXXXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXXEXX p)
instance (Typed (TypeBBBXXEXXEBXXEXE f), Typed (TypeBBXXEXXEBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXXEBXXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXXEBXXE p)
instance (Typed (TypeBBXBXXEXEXXXE f), Typed (TypeBXBXXEXEXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBXXEXEXXXE f) `applyTypeID` typeID (type_ :: TypeBXBXXEXEXX p)
instance (Typed (TypeBBXBXXEXEBXXEXE f), Typed (TypeBXBXXEXEBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBXXEXEBXXEXE f) `applyTypeID` typeID (type_ :: TypeBXBXXEXEBXXE p)
instance (Typed (TypeBBBXXXEXEXXXE f), Typed (TypeBBXXXEXEXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXXEXEXXXE f) `applyTypeID` typeID (type_ :: TypeBBXXXEXEXX p)
instance (Typed (TypeBBBXXXEXEBXXEXE f), Typed (TypeBBXXXEXEBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXXEXEBXXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXXEXEBXXE p)
instance (Typed (TypeBBBBXXEXEXEXXXE f), Typed (TypeBBBXXEXEXEXX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXEXEXEXXXE f) `applyTypeID` typeID (type_ :: TypeBBBXXEXEXEXX p)
instance (Typed (TypeBBBBXXEXEXEBXXEXE f), Typed (TypeBBBXXEXEXEBXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXEXEXEBXXEXE f) `applyTypeID` typeID (type_ :: TypeBBBXXEXEXEBXXE p)
instance (Typed (TypeBXBXXXXEXXE f), Typed (TypeXBXXXXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXXXEXXE f) `applyTypeID` typeID (type_ :: TypeXBXXXXEX p)
instance (Typed (TypeBXBBXXEXXEXXE f), Typed (TypeXBBXXEXXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBXXEXXEXXE f) `applyTypeID` typeID (type_ :: TypeXBBXXEXXEX p)
instance (Typed (TypeBXBXBXXEXEXXE f), Typed (TypeXBXBXXEXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXBXXEXEXXE f) `applyTypeID` typeID (type_ :: TypeXBXBXXEXEX p)
instance (Typed (TypeBXBBXXXEXEXXE f), Typed (TypeXBBXXXEXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBXXXEXEXXE f) `applyTypeID` typeID (type_ :: TypeXBBXXXEXEX p)
instance (Typed (TypeBXBBBXXEXEXEXXE f), Typed (TypeXBBBXXEXEXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBBXXEXEXEXXE f) `applyTypeID` typeID (type_ :: TypeXBBBXXEXEXEX p)
instance (Typed (TypeBXXBXXXXEXE f), Typed (TypeXXBXXXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXBXXXXEXE f) `applyTypeID` typeID (type_ :: TypeXXBXXXXE p)
instance (Typed (TypeBXXBBXXEXXEXE f), Typed (TypeXXBBXXEXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXBBXXEXXEXE f) `applyTypeID` typeID (type_ :: TypeXXBBXXEXXE p)
instance (Typed (TypeBXXBXBXXEXEXE f), Typed (TypeXXBXBXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXBXBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeXXBXBXXEXE p)
instance (Typed (TypeBXXBBXXXEXEXE f), Typed (TypeXXBBXXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXBBXXXEXEXE f) `applyTypeID` typeID (type_ :: TypeXXBBXXXEXE p)
instance (Typed (TypeBXXBBBXXEXEXEXE f), Typed (TypeXXBBBXXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXXBBBXXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeXXBBBXXEXEXE p)
instance (Typed (TypeBBXXXXXEXXE f), Typed (TypeBXXXXXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXXXEXXE f) `applyTypeID` typeID (type_ :: TypeBXXXXXEX p)
instance (Typed (TypeBBBXXEXXXEXXE f), Typed (TypeBBXXEXXXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXXXEXXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXXXEX p)
instance (Typed (TypeBBBXXEBXXEXEXXE f), Typed (TypeBBXXEBXXEXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEBXXEXEXXE f) `applyTypeID` typeID (type_ :: TypeBBXXEBXXEXEX p)
instance (Typed (TypeBBXBXXEXXEXXE f), Typed (TypeBXBXXEXXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBXXEXXEXXE f) `applyTypeID` typeID (type_ :: TypeBXBXXEXXEX p)
instance (Typed (TypeBBXXBXXEXEXXE f), Typed (TypeBXXBXXEXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXBXXEXEXXE f) `applyTypeID` typeID (type_ :: TypeBXXBXXEXEX p)
instance (Typed (TypeBBBXXXEXXEXXE f), Typed (TypeBBXXXEXXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXXEXXEXXE f) `applyTypeID` typeID (type_ :: TypeBBXXXEXXEX p)
instance (Typed (TypeBBBBXXEXEXXEXXE f), Typed (TypeBBBXXEXEXXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXEXEXXEXXE f) `applyTypeID` typeID (type_ :: TypeBBBXXEXEXXEX p)
instance (Typed (TypeBBXBXXXEXEXXE f), Typed (TypeBXBXXXEXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBXXXEXEXXE f) `applyTypeID` typeID (type_ :: TypeBXBXXXEXEX p)
instance (Typed (TypeBBXBBXXEXEXEXXE f), Typed (TypeBXBBXXEXEXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBBXXEXEXEXXE f) `applyTypeID` typeID (type_ :: TypeBXBBXXEXEXEX p)
instance (Typed (TypeBBBXXXXEXEXXE f), Typed (TypeBBXXXXEXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXXXEXEXXE f) `applyTypeID` typeID (type_ :: TypeBBXXXXEXEX p)
instance (Typed (TypeBBBBXXEXXEXEXXE f), Typed (TypeBBBXXEXXEXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXEXXEXEXXE f) `applyTypeID` typeID (type_ :: TypeBBBXXEXXEXEX p)
instance (Typed (TypeBBBXBXXEXEXEXXE f), Typed (TypeBBXBXXEXEXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXBXXEXEXEXXE f) `applyTypeID` typeID (type_ :: TypeBBXBXXEXEXEX p)
instance (Typed (TypeBBBBXXXEXEXEXXE f), Typed (TypeBBBXXXEXEXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXXEXEXEXXE f) `applyTypeID` typeID (type_ :: TypeBBBXXXEXEXEX p)
instance (Typed (TypeBBBBBXXEXEXEXEXXE f), Typed (TypeBBBBXXEXEXEXEX p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBBXXEXEXEXEXXE f) `applyTypeID` typeID (type_ :: TypeBBBBXXEXEXEXEX p)
instance (Typed (TypeBXBXXXXXEXE f), Typed (TypeXBXXXXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXXXXEXE f) `applyTypeID` typeID (type_ :: TypeXBXXXXXE p)
instance (Typed (TypeBXBBXXEXXXEXE f), Typed (TypeXBBXXEXXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBXXEXXXEXE f) `applyTypeID` typeID (type_ :: TypeXBBXXEXXXE p)
instance (Typed (TypeBXBBXXEBXXEXEXE f), Typed (TypeXBBXXEBXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBXXEBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeXBBXXEBXXEXE p)
instance (Typed (TypeBXBXBXXEXXEXE f), Typed (TypeXBXBXXEXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXBXXEXXEXE f) `applyTypeID` typeID (type_ :: TypeXBXBXXEXXE p)
instance (Typed (TypeBXBXXBXXEXEXE f), Typed (TypeXBXXBXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXXBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeXBXXBXXEXE p)
instance (Typed (TypeBXBBXXXEXXEXE f), Typed (TypeXBBXXXEXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBXXXEXXEXE f) `applyTypeID` typeID (type_ :: TypeXBBXXXEXXE p)
instance (Typed (TypeBXBBBXXEXEXXEXE f), Typed (TypeXBBBXXEXEXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBBXXEXEXXEXE f) `applyTypeID` typeID (type_ :: TypeXBBBXXEXEXXE p)
instance (Typed (TypeBXBXBXXXEXEXE f), Typed (TypeXBXBXXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXBXXXEXEXE f) `applyTypeID` typeID (type_ :: TypeXBXBXXXEXE p)
instance (Typed (TypeBXBXBBXXEXEXEXE f), Typed (TypeXBXBBXXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBXBBXXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeXBXBBXXEXEXE p)
instance (Typed (TypeBXBBXXXXEXEXE f), Typed (TypeXBBXXXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBXXXXEXEXE f) `applyTypeID` typeID (type_ :: TypeXBBXXXXEXE p)
instance (Typed (TypeBXBBBXXEXXEXEXE f), Typed (TypeXBBBXXEXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBBXXEXXEXEXE f) `applyTypeID` typeID (type_ :: TypeXBBBXXEXXEXE p)
instance (Typed (TypeBXBBXBXXEXEXEXE f), Typed (TypeXBBXBXXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBXBXXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeXBBXBXXEXEXE p)
instance (Typed (TypeBXBBBXXXEXEXEXE f), Typed (TypeXBBBXXXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBBXXXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeXBBBXXXEXEXE p)
instance (Typed (TypeBXBBBBXXEXEXEXEXE f), Typed (TypeXBBBBXXEXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBXBBBBXXEXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeXBBBBXXEXEXEXE p)
instance (Typed (TypeBBXXXXXXEXE f), Typed (TypeBXXXXXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXXXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXXXXXE p)
instance (Typed (TypeBBBXXEXXXXEXE f), Typed (TypeBBXXEXXXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXXXXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXXXXE p)
instance (Typed (TypeBBBXXEBXXEXXEXE f), Typed (TypeBBXXEBXXEXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEBXXEXXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXEBXXEXXE p)
instance (Typed (TypeBBBXXEXBXXEXEXE f), Typed (TypeBBXXEXBXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEXBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXEXBXXEXE p)
instance (Typed (TypeBBBXXEBXXXEXEXE f), Typed (TypeBBXXEBXXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEBXXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXEBXXXEXE p)
instance (Typed (TypeBBBXXEBBXXEXEXEXE f), Typed (TypeBBXXEBBXXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXEBBXXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXEBBXXEXEXE p)
instance (Typed (TypeBBXBXXEXXXEXE f), Typed (TypeBXBXXEXXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBXXEXXXEXE f) `applyTypeID` typeID (type_ :: TypeBXBXXEXXXE p)
instance (Typed (TypeBBXBXXEBXXEXEXE f), Typed (TypeBXBXXEBXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBXXEBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBXBXXEBXXEXE p)
instance (Typed (TypeBBXXBXXEXXEXE f), Typed (TypeBXXBXXEXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXBXXEXXEXE f) `applyTypeID` typeID (type_ :: TypeBXXBXXEXXE p)
instance (Typed (TypeBBXXXBXXEXEXE f), Typed (TypeBXXXBXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXXBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBXXXBXXEXE p)
instance (Typed (TypeBBBXXXEXXXEXE f), Typed (TypeBBXXXEXXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXXEXXXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXXEXXXE p)
instance (Typed (TypeBBBXXXEBXXEXEXE f), Typed (TypeBBXXXEBXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXXEBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXXEBXXEXE p)
instance (Typed (TypeBBBBXXEXEXXXEXE f), Typed (TypeBBBXXEXEXXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXEXEXXXEXE f) `applyTypeID` typeID (type_ :: TypeBBBXXEXEXXXE p)
instance (Typed (TypeBBBBXXEXEBXXEXEXE f), Typed (TypeBBBXXEXEBXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXEXEBXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBBXXEXEBXXEXE p)
instance (Typed (TypeBBXBXXXEXXEXE f), Typed (TypeBXBXXXEXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBXXXEXXEXE f) `applyTypeID` typeID (type_ :: TypeBXBXXXEXXE p)
instance (Typed (TypeBBXBBXXEXEXXEXE f), Typed (TypeBXBBXXEXEXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBBXXEXEXXEXE f) `applyTypeID` typeID (type_ :: TypeBXBBXXEXEXXE p)
instance (Typed (TypeBBXXBXXXEXEXE f), Typed (TypeBXXBXXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXBXXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBXXBXXXEXE p)
instance (Typed (TypeBBXXBBXXEXEXEXE f), Typed (TypeBXXBBXXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXXBBXXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeBXXBBXXEXEXE p)
instance (Typed (TypeBBBXXXXEXXEXE f), Typed (TypeBBXXXXEXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXXXEXXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXXXEXXE p)
instance (Typed (TypeBBBBXXEXXEXXEXE f), Typed (TypeBBBXXEXXEXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXEXXEXXEXE f) `applyTypeID` typeID (type_ :: TypeBBBXXEXXEXXE p)
instance (Typed (TypeBBBXBXXEXEXXEXE f), Typed (TypeBBXBXXEXEXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXBXXEXEXXEXE f) `applyTypeID` typeID (type_ :: TypeBBXBXXEXEXXE p)
instance (Typed (TypeBBBBXXXEXEXXEXE f), Typed (TypeBBBXXXEXEXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXXEXEXXEXE f) `applyTypeID` typeID (type_ :: TypeBBBXXXEXEXXE p)
instance (Typed (TypeBBBBBXXEXEXEXXEXE f), Typed (TypeBBBBXXEXEXEXXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBBXXEXEXEXXEXE f) `applyTypeID` typeID (type_ :: TypeBBBBXXEXEXEXXE p)
instance (Typed (TypeBBXBXXXXEXEXE f), Typed (TypeBXBXXXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBXXXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBXBXXXXEXE p)
instance (Typed (TypeBBXBBXXEXXEXEXE f), Typed (TypeBXBBXXEXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBBXXEXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBXBBXXEXXEXE p)
instance (Typed (TypeBBXBXBXXEXEXEXE f), Typed (TypeBXBXBXXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBXBXXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeBXBXBXXEXEXE p)
instance (Typed (TypeBBXBBXXXEXEXEXE f), Typed (TypeBXBBXXXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBBXXXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeBXBBXXXEXEXE p)
instance (Typed (TypeBBXBBBXXEXEXEXEXE f), Typed (TypeBXBBBXXEXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBXBBBXXEXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeBXBBBXXEXEXEXE p)
instance (Typed (TypeBBBXXXXXEXEXE f), Typed (TypeBBXXXXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXXXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXXXXEXE p)
instance (Typed (TypeBBBBXXEXXXEXEXE f), Typed (TypeBBBXXEXXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXEXXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBBXXEXXXEXE p)
instance (Typed (TypeBBBBXXEBXXEXEXEXE f), Typed (TypeBBBXXEBXXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXEBXXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBBXXEBXXEXEXE p)
instance (Typed (TypeBBBXBXXEXXEXEXE f), Typed (TypeBBXBXXEXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXBXXEXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBXBXXEXXEXE p)
instance (Typed (TypeBBBXXBXXEXEXEXE f), Typed (TypeBBXXBXXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXXBXXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBXXBXXEXEXE p)
instance (Typed (TypeBBBBXXXEXXEXEXE f), Typed (TypeBBBXXXEXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXXEXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBBXXXEXXEXE p)
instance (Typed (TypeBBBBBXXEXEXXEXEXE f), Typed (TypeBBBBXXEXEXXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBBXXEXEXXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBBBXXEXEXXEXE p)
instance (Typed (TypeBBBXBXXXEXEXEXE f), Typed (TypeBBXBXXXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXBXXXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBXBXXXEXEXE p)
instance (Typed (TypeBBBXBBXXEXEXEXEXE f), Typed (TypeBBXBBXXEXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBXBBXXEXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBXBBXXEXEXEXE p)
instance (Typed (TypeBBBBXXXXEXEXEXE f), Typed (TypeBBBXXXXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXXXXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBBXXXXEXEXE p)
instance (Typed (TypeBBBBBXXEXXEXEXEXE f), Typed (TypeBBBBXXEXXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBBXXEXXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBBBXXEXXEXEXE p)
instance (Typed (TypeBBBBXBXXEXEXEXEXE f), Typed (TypeBBBXBXXEXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBXBXXEXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBBXBXXEXEXEXE p)
instance (Typed (TypeBBBBBXXXEXEXEXEXE f), Typed (TypeBBBBXXXEXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBBXXXEXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBBBXXXEXEXEXE p)
instance (Typed (TypeBBBBBBXXEXEXEXEXEXE f), Typed (TypeBBBBBXXEXEXEXEXE p)) => Typed (Type (f p)) where
	typeID _ = typeID (type_ :: TypeBBBBBBXXEXEXEXEXEXE f) `applyTypeID` typeID (type_ :: TypeBBBBBXXEXEXEXEXE p)
instance Typed (TypeXX (,)) where
	typeID _ = makeTypeID "base" $ show '(,)
instance Typed (TypeXXX (,,)) where
	typeID _ = makeTypeID "base" $ show '(,,)
instance Typed (TypeXXXX (,,,)) where
	typeID _ = makeTypeID "base" $ show '(,,,)
instance Typed (TypeXXXXX (,,,,)) where
	typeID _ = makeTypeID "base" $ show '(,,,,)
instance Typed (TypeXXXXXX (,,,,,)) where
	typeID _ = makeTypeID "base" $ show '(,,,,,)
instance Typed (TypeXXXXXXX (,,,,,,)) where
	typeID _ = makeTypeID "base" $ show '(,,,,,,)
cast :: forall f t. (Typed (Type f), Typed (Type t)) => f -> Maybe t
cast x =
	if typeID (Type :: Type f) == typeID (Type :: Type t)
		then Just $ unsafeCoerce x
		else Nothing
-- | Given a 'Kind' return the template haskell 'Name' for the appropriate type encapsulator.
typeConstructorName :: Kind -> Name
typeConstructorName (KindUnit) = ''Type
typeConstructorName (KindArrow KindUnit KindUnit) = ''TypeX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit KindUnit)) = ''TypeXX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) KindUnit) = ''TypeBXXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeXXX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBXXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeXBXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) = ''TypeBBXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) = ''TypeXXXX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeBXXEXX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeBXXEBXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) = ''TypeXBXXEX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) = ''TypeXXBXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) = ''TypeBXXXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBBXXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) = ''TypeXBXXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) = ''TypeXBBXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) = ''TypeBXXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBBXXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) = ''TypeBXBXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) = ''TypeBBXXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) = ''TypeBBBXXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) = ''TypeXXXXX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) = ''TypeBXXEXXX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) = ''TypeBXXEBXXEX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) = ''TypeBXXEXBXXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) = ''TypeBXXEBXXXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) = ''TypeBXXEBBXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) = ''TypeXBXXEXX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) = ''TypeXBXXEBXXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))) = ''TypeXXBXXEX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) = ''TypeXXXBXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeBXXXEXX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeBXXXEBXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeBBXXEXEXX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeBBXXEXEBXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))) = ''TypeXBXXXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit))) = ''TypeXBBXXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))) = ''TypeXXBXXXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))) = ''TypeXXBBXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)) = ''TypeBXXXXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) = ''TypeBBXXEXXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)) = ''TypeBXBXXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBBXXXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBBBXXEXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)) = ''TypeXBXXXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)) = ''TypeXBBXXEXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)) = ''TypeXBXBXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)) = ''TypeXBBXXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit)) = ''TypeXBBBXXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit) = ''TypeBXXXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) = ''TypeBBXXEXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) = ''TypeBBXXEBXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit) = ''TypeBXBXXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit) = ''TypeBXXBXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBBXXXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBBBXXEXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit) = ''TypeBXBXXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit) = ''TypeBXBBXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit) = ''TypeBBXXXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) = ''TypeBBBXXEXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit) = ''TypeBBXBXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit) = ''TypeBBBXXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) KindUnit) = ''TypeBBBBXXEXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))))) = ''TypeXXXXXX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) = ''TypeBXXEXXXX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) = ''TypeBXXEBXXEXX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) = ''TypeBXXEBXXEBXXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))) = ''TypeBXXEXBXXEX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) = ''TypeBXXEXXBXXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))) = ''TypeBXXEBXXXEX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit))) = ''TypeBXXEBBXXEXEX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))) = ''TypeBXXEXBXXXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))) = ''TypeBXXEXBBXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)) = ''TypeBXXEBXXXXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)) = ''TypeBXXEBBXXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)) = ''TypeBXXEBXBXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)) = ''TypeBXXEBBXXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit)) = ''TypeBXXEBBBXXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) = ''TypeXBXXEXXX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))) = ''TypeXBXXEBXXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) = ''TypeXBXXEXBXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))) = ''TypeXBXXEBXXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))) = ''TypeXBXXEBBXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) = ''TypeXXBXXEXX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) = ''TypeXXBXXEBXXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))))) = ''TypeXXXBXXEX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))))) = ''TypeXXXXBXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) = ''TypeBXXXEXXX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) = ''TypeBXXXEBXXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) = ''TypeBXXXEXBXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) = ''TypeBXXXEBXXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) = ''TypeBXXXEBBXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) = ''TypeBBXXEXEXXX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) = ''TypeBBXXEXEBXXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) = ''TypeBBXXEXEXBXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) = ''TypeBBXXEXEBXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) = ''TypeBBXXEXEBBXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) = ''TypeXBXXXEXX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) = ''TypeXBXXXEBXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) = ''TypeXBBXXEXEXX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) = ''TypeXBBXXEXEBXXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)))) = ''TypeXXBXXXEX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)))) = ''TypeXXBBXXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)))) = ''TypeXXXBXXXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)))) = ''TypeXXXBBXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeBXXXXEXX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeBXXXXEBXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeBBXXEXXEXX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeBBXXEXXEBXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeBXBXXEXEXX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeBXBXXEXEBXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeBBXXXEXEXX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeBBXXXEXEBXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeBBBXXEXEXEXX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeBBBXXEXEXEBXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit))) = ''TypeXBXXXXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))) = ''TypeXBBXXEXXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit))) = ''TypeXBXBXXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit))) = ''TypeXBBXXXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit))) = ''TypeXBBBXXEXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit))) = ''TypeXXBXXXXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit))) = ''TypeXXBBXXEXXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit))) = ''TypeXXBXBXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit))) = ''TypeXXBBXXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit))) = ''TypeXXBBBXXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) (KindArrow KindUnit KindUnit)) = ''TypeBXXXXXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)) = ''TypeBBXXEXXXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)) = ''TypeBBXXEBXXEXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)) = ''TypeBXBXXEXXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) (KindArrow KindUnit KindUnit)) = ''TypeBXXBXXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) = ''TypeBBXXXEXXEX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) = ''TypeBBBXXEXEXXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) (KindArrow KindUnit KindUnit)) = ''TypeBXBXXXEXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)) = ''TypeBXBBXXEXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBBXXXXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBBBXXEXXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBBXBXXEXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBBBXXXEXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBBBBXXEXEXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit)) = ''TypeXBXXXXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)) = ''TypeXBBXXEXXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)) = ''TypeXBBXXEBXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit)) = ''TypeXBXBXXEXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit)) = ''TypeXBXXBXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit)) = ''TypeXBBXXXEXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)) = ''TypeXBBBXXEXEXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit)) = ''TypeXBXBXXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit)) = ''TypeXBXBBXXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit)) = ''TypeXBBXXXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)) = ''TypeXBBBXXEXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit)) = ''TypeXBBXBXXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit)) = ''TypeXBBBXXXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) KindUnit)) = ''TypeXBBBBXXEXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) KindUnit) = ''TypeBXXXXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit) = ''TypeBBXXEXXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit) = ''TypeBBXXEBXXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit) = ''TypeBBXXEXBXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit) = ''TypeBBXXEBXXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit) = ''TypeBBXXEBBXXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit) = ''TypeBXBXXEXXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit) = ''TypeBXBXXEBXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))) KindUnit) = ''TypeBXXBXXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) KindUnit) = ''TypeBXXXBXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) = ''TypeBBXXXEXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) = ''TypeBBXXXEBXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) = ''TypeBBBXXEXEXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) = ''TypeBBBXXEXEBXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))) KindUnit) = ''TypeBXBXXXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit))) KindUnit) = ''TypeBXBBXXEXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))) KindUnit) = ''TypeBXXBXXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))) KindUnit) = ''TypeBXXBBXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBBXXXXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBBBXXEXXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBBXBXXEXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBBBXXXEXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBBBBXXEXEXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)) KindUnit) = ''TypeBXBXXXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit) = ''TypeBXBBXXEXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)) KindUnit) = ''TypeBXBXBXXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)) KindUnit) = ''TypeBXBBXXXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit)) KindUnit) = ''TypeBXBBBXXEXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit) KindUnit) = ''TypeBBXXXXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit) = ''TypeBBBXXEXXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit) = ''TypeBBBXXEBXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit) KindUnit) = ''TypeBBXBXXEXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit) KindUnit) = ''TypeBBXXBXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) = ''TypeBBBXXXEXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) = ''TypeBBBBXXEXEXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit) KindUnit) = ''TypeBBXBXXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit) KindUnit) = ''TypeBBXBBXXEXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit) KindUnit) = ''TypeBBBXXXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit) = ''TypeBBBBXXEXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit) KindUnit) = ''TypeBBBXBXXEXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit) KindUnit) = ''TypeBBBBXXXEXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) KindUnit) KindUnit) = ''TypeBBBBBXXEXEXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))))) = ''TypeXXXXXXX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))))) = ''TypeBXXEXXXXX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) = ''TypeBXXEBXXEXXX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))) = ''TypeBXXEBXXEBXXEX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) = ''TypeBXXEBXXEXBXXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))) = ''TypeBXXEBXXEBXXXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))) = ''TypeBXXEBXXEBBXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) = ''TypeBXXEXBXXEXX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) = ''TypeBXXEXBXXEBXXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))))) = ''TypeBXXEXXBXXEX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))))) = ''TypeBXXEXXXBXXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) = ''TypeBXXEBXXXEXX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) = ''TypeBXXEBXXXEBXXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) = ''TypeBXXEBBXXEXEXX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) = ''TypeBXXEBBXXEXEBXXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)))) = ''TypeBXXEXBXXXEX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)))) = ''TypeBXXEXBBXXEXEX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)))) = ''TypeBXXEXXBXXXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)))) = ''TypeBXXEXXBBXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit))) = ''TypeBXXEBXXXXEX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))) = ''TypeBXXEBBXXEXXEX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit))) = ''TypeBXXEBXBXXEXEX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit))) = ''TypeBXXEBBXXXEXEX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit))) = ''TypeBXXEBBBXXEXEXEX
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit))) = ''TypeBXXEXBXXXXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit))) = ''TypeBXXEXBBXXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit))) = ''TypeBXXEXBXBXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit))) = ''TypeBXXEXBBXXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit))) = ''TypeBXXEXBBBXXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit)) = ''TypeBXXEBXXXXXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)) = ''TypeBXXEBBXXEXXXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)) = ''TypeBXXEBBXXEBXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit)) = ''TypeBXXEBXBXXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit)) = ''TypeBXXEBXXBXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit)) = ''TypeBXXEBBXXXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)) = ''TypeBXXEBBBXXEXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit)) = ''TypeBXXEBXBXXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit)) = ''TypeBXXEBXBBXXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit)) = ''TypeBXXEBBXXXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)) = ''TypeBXXEBBBXXEXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit)) = ''TypeBXXEBBXBXXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit)) = ''TypeBXXEBBBXXXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) KindUnit)) = ''TypeBXXEBBBBXXEXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))))) = ''TypeXBXXEXXXX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) = ''TypeXBXXEBXXEXX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) = ''TypeXBXXEBXXEBXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))))) = ''TypeXBXXEXBXXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))))) = ''TypeXBXXEXXBXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)))) = ''TypeXBXXEBXXXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)))) = ''TypeXBXXEBBXXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)))) = ''TypeXBXXEXBXXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)))) = ''TypeXBXXEXBBXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit))) = ''TypeXBXXEBXXXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit))) = ''TypeXBXXEBBXXEXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit))) = ''TypeXBXXEBXBXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit))) = ''TypeXBXXEBBXXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit))) = ''TypeXBXXEBBBXXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))))) = ''TypeXXBXXEXXX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))))) = ''TypeXXBXXEBXXEX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))))) = ''TypeXXBXXEXBXXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)))) = ''TypeXXBXXEBXXXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)))) = ''TypeXXBXXEBBXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))))) = ''TypeXXXBXXEXX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))))) = ''TypeXXXBXXEBXXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))))) = ''TypeXXXXBXXEX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))))) = ''TypeXXXXXBXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) = ''TypeBXXXEXXXX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) = ''TypeBXXXEBXXEXX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) = ''TypeBXXXEBXXEBXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))) = ''TypeBXXXEXBXXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) = ''TypeBXXXEXXBXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))) = ''TypeBXXXEBXXXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit))) = ''TypeBXXXEBBXXEXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))) = ''TypeBXXXEXBXXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))) = ''TypeBXXXEXBBXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)) = ''TypeBXXXEBXXXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)) = ''TypeBXXXEBBXXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)) = ''TypeBXXXEBXBXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)) = ''TypeBXXXEBBXXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit)) = ''TypeBXXXEBBBXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) = ''TypeBBXXEXEXXXX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) = ''TypeBBXXEXEBXXEXX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) = ''TypeBBXXEXEBXXEBXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))) = ''TypeBBXXEXEXBXXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) = ''TypeBBXXEXEXXBXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))) = ''TypeBBXXEXEBXXXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit))) = ''TypeBBXXEXEBBXXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))) = ''TypeBBXXEXEXBXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))) = ''TypeBBXXEXEXBBXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)) = ''TypeBBXXEXEBXXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)) = ''TypeBBXXEXEBBXXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)) = ''TypeBBXXEXEBXBXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)) = ''TypeBBXXEXEBBXXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit)) = ''TypeBBXXEXEBBBXXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) = ''TypeXBXXXEXXX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))) = ''TypeXBXXXEBXXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) = ''TypeXBXXXEXBXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))) = ''TypeXBXXXEBXXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))) = ''TypeXBXXXEBBXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) = ''TypeXBBXXEXEXXX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))) = ''TypeXBBXXEXEBXXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) = ''TypeXBBXXEXEXBXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))) = ''TypeXBBXXEXEBXXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))) = ''TypeXBBXXEXEBBXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) = ''TypeXXBXXXEXX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) = ''TypeXXBXXXEBXXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) = ''TypeXXBBXXEXEXX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) = ''TypeXXBBXXEXEBXXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))))) = ''TypeXXXBXXXEX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit))))) = ''TypeXXXBBXXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))))) = ''TypeXXXXBXXXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))))) = ''TypeXXXXBBXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) = ''TypeBXXXXEXXX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) = ''TypeBXXXXEBXXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) = ''TypeBXXXXEXBXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) = ''TypeBXXXXEBXXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) = ''TypeBXXXXEBBXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) = ''TypeBBXXEXXEXXX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) = ''TypeBBXXEXXEBXXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) = ''TypeBBXXEXXEXBXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) = ''TypeBBXXEXXEBXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) = ''TypeBBXXEXXEBBXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) = ''TypeBXBXXEXEXXX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) = ''TypeBXBXXEXEBXXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) = ''TypeBXBXXEXEXBXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) = ''TypeBXBXXEXEBXXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) = ''TypeBXBXXEXEBBXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) = ''TypeBBXXXEXEXXX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) = ''TypeBBXXXEXEBXXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) = ''TypeBBXXXEXEXBXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) = ''TypeBBXXXEXEBXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) = ''TypeBBXXXEXEBBXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) = ''TypeBBBXXEXEXEXXX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) = ''TypeBBBXXEXEXEBXXEX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) = ''TypeBBBXXEXEXEXBXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) = ''TypeBBBXXEXEXEBXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) = ''TypeBBBXXEXEXEBBXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) = ''TypeXBXXXXEXX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) = ''TypeXBXXXXEBXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) = ''TypeXBBXXEXXEXX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) = ''TypeXBBXXEXXEBXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) = ''TypeXBXBXXEXEXX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) = ''TypeXBXBXXEXEBXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) = ''TypeXBBXXXEXEXX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) = ''TypeXBBXXXEXEBXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) = ''TypeXBBBXXEXEXEXX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) = ''TypeXBBBXXEXEXEBXXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)))) = ''TypeXXBXXXXEX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)))) = ''TypeXXBBXXEXXEX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)))) = ''TypeXXBXBXXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)))) = ''TypeXXBBXXXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)))) = ''TypeXXBBBXXEXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)))) = ''TypeXXXBXXXXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)))) = ''TypeXXXBBXXEXXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)))) = ''TypeXXXBXBXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)))) = ''TypeXXXBBXXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit)))) = ''TypeXXXBBBXXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeBXXXXXEXX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeBXXXXXEBXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeBBXXEXXXEXX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeBBXXEXXXEBXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeBBXXEBXXEXEXX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeBBXXEBXXEXEBXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeBXBXXEXXEXX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeBXBXXEXXEBXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeBXXBXXEXEXX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeBXXBXXEXEBXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeBBXXXEXXEXX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeBBXXXEXXEBXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeBBBXXEXEXXEXX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeBBBXXEXEXXEBXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeBXBXXXEXEXX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeBXBXXXEXEBXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeBXBBXXEXEXEXX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeBXBBXXEXEXEBXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeBBXXXXEXEXX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeBBXXXXEXEBXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeBBBXXEXXEXEXX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeBBBXXEXXEXEBXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeBBXBXXEXEXEXX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeBBXBXXEXEXEBXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeBBBXXXEXEXEXX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeBBBXXXEXEXEBXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) = ''TypeBBBBXXEXEXEXEXX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) = ''TypeBBBBXXEXEXEXEBXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) (KindArrow KindUnit KindUnit))) = ''TypeXBXXXXXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit))) = ''TypeXBBXXEXXXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit))) = ''TypeXBBXXEBXXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit))) = ''TypeXBXBXXEXXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) (KindArrow KindUnit KindUnit))) = ''TypeXBXXBXXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))) = ''TypeXBBXXXEXXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))) = ''TypeXBBBXXEXEXXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) (KindArrow KindUnit KindUnit))) = ''TypeXBXBXXXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) (KindArrow KindUnit KindUnit))) = ''TypeXBXBBXXEXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) (KindArrow KindUnit KindUnit))) = ''TypeXBBXXXXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit))) = ''TypeXBBBXXEXXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) (KindArrow KindUnit KindUnit))) = ''TypeXBBXBXXEXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) (KindArrow KindUnit KindUnit))) = ''TypeXBBBXXXEXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit))) = ''TypeXBBBBXXEXEXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit))) = ''TypeXXBXXXXXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit))) = ''TypeXXBBXXEXXXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit))) = ''TypeXXBBXXEBXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit))) = ''TypeXXBXBXXEXXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit))) = ''TypeXXBXXBXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit))) = ''TypeXXBBXXXEXXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit))) = ''TypeXXBBBXXEXEXXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit))) = ''TypeXXBXBXXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit))) = ''TypeXXBXBBXXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit))) = ''TypeXXBBXXXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit))) = ''TypeXXBBBXXEXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit))) = ''TypeXXBBXBXXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit))) = ''TypeXXBBBXXXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) KindUnit))) = ''TypeXXBBBBXXEXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) (KindArrow KindUnit KindUnit)) = ''TypeBXXXXXXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) (KindArrow KindUnit KindUnit)) = ''TypeBBXXEXXXXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)) = ''TypeBBXXEBXXEXXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) (KindArrow KindUnit KindUnit)) = ''TypeBBXXEXBXXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) (KindArrow KindUnit KindUnit)) = ''TypeBBXXEBXXXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)) = ''TypeBBXXEBBXXEXEXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) (KindArrow KindUnit KindUnit)) = ''TypeBXBXXEXXXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) (KindArrow KindUnit KindUnit)) = ''TypeBXBXXEBXXEXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))) (KindArrow KindUnit KindUnit)) = ''TypeBXXBXXEXXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) (KindArrow KindUnit KindUnit)) = ''TypeBXXXBXXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)) = ''TypeBBXXXEXXXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)) = ''TypeBBXXXEBXXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)) = ''TypeBBBXXEXEXXXEX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)) = ''TypeBBBXXEXEBXXEXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)) = ''TypeBXBXXXEXXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)) = ''TypeBXBBXXEXEXXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))) (KindArrow KindUnit KindUnit)) = ''TypeBXXBXXXEXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))) (KindArrow KindUnit KindUnit)) = ''TypeBXXBBXXEXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) = ''TypeBBXXXXEXXEX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) = ''TypeBBBXXEXXEXXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) = ''TypeBBXBXXEXEXXEX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) = ''TypeBBBXXXEXEXXEX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) = ''TypeBBBBXXEXEXEXXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)) (KindArrow KindUnit KindUnit)) = ''TypeBXBXXXXEXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)) (KindArrow KindUnit KindUnit)) = ''TypeBXBBXXEXXEXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)) (KindArrow KindUnit KindUnit)) = ''TypeBXBXBXXEXEXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)) = ''TypeBXBBXXXEXEXEX
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)) = ''TypeBXBBBXXEXEXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBBXXXXXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBBBXXEXXXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBBBXXEBXXEXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBBXBXXEXXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBBXXBXXEXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBBBXXXEXXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBBBBXXEXEXXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBBXBXXXEXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBBXBBXXEXEXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBBBXXXXEXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBBBBXXEXXEXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBBBXBXXEXEXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBBBBXXXEXEXEXEX
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) = ''TypeBBBBBXXEXEXEXEXEX
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) KindUnit)) = ''TypeXBXXXXXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit)) = ''TypeXBBXXEXXXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit)) = ''TypeXBBXXEBXXEXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit)) = ''TypeXBBXXEXBXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit)) = ''TypeXBBXXEBXXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit)) = ''TypeXBBXXEBBXXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit)) = ''TypeXBXBXXEXXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit)) = ''TypeXBXBXXEBXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))) KindUnit)) = ''TypeXBXXBXXEXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) KindUnit)) = ''TypeXBXXXBXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)) = ''TypeXBBXXXEXXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)) = ''TypeXBBXXXEBXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)) = ''TypeXBBBXXEXEXXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)) = ''TypeXBBBXXEXEBXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))) KindUnit)) = ''TypeXBXBXXXEXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit))) KindUnit)) = ''TypeXBXBBXXEXEXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))) KindUnit)) = ''TypeXBXXBXXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))) KindUnit)) = ''TypeXBXXBBXXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)) KindUnit)) = ''TypeXBBXXXXEXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit)) = ''TypeXBBBXXEXXEXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit)) = ''TypeXBBXBXXEXEXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)) = ''TypeXBBBXXXEXEXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)) = ''TypeXBBBBXXEXEXEXXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)) KindUnit)) = ''TypeXBXBXXXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit)) = ''TypeXBXBBXXEXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)) KindUnit)) = ''TypeXBXBXBXXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)) KindUnit)) = ''TypeXBXBBXXXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit)) KindUnit)) = ''TypeXBXBBBXXEXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit) KindUnit)) = ''TypeXBBXXXXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit)) = ''TypeXBBBXXEXXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit)) = ''TypeXBBBXXEBXXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit) KindUnit)) = ''TypeXBBXBXXEXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit) KindUnit)) = ''TypeXBBXXBXXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)) = ''TypeXBBBXXXEXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)) = ''TypeXBBBBXXEXEXXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit) KindUnit)) = ''TypeXBBXBXXXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit) KindUnit)) = ''TypeXBBXBBXXEXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit) KindUnit)) = ''TypeXBBBXXXXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit)) = ''TypeXBBBBXXEXXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit) KindUnit)) = ''TypeXBBBXBXXEXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit) KindUnit)) = ''TypeXBBBBXXXEXEXEXE
typeConstructorName (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) KindUnit) KindUnit)) = ''TypeXBBBBBXXEXEXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))))) KindUnit) = ''TypeBXXXXXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) KindUnit) = ''TypeBBXXEXXXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit) = ''TypeBBXXEBXXEXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit) = ''TypeBBXXEBXXEBXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))) KindUnit) = ''TypeBBXXEXBXXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) KindUnit) = ''TypeBBXXEXXBXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))) KindUnit) = ''TypeBBXXEBXXXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit))) KindUnit) = ''TypeBBXXEBBXXEXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))) KindUnit) = ''TypeBBXXEXBXXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))) KindUnit) = ''TypeBBXXEXBBXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)) KindUnit) = ''TypeBBXXEBXXXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit) = ''TypeBBXXEBBXXEXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)) KindUnit) = ''TypeBBXXEBXBXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)) KindUnit) = ''TypeBBXXEBBXXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit)) KindUnit) = ''TypeBBXXEBBBXXEXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) KindUnit) = ''TypeBXBXXEXXXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))) KindUnit) = ''TypeBXBXXEBXXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) KindUnit) = ''TypeBXBXXEXBXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))) KindUnit) = ''TypeBXBXXEBXXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))) KindUnit) = ''TypeBXBXXEBBXXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) KindUnit) = ''TypeBXXBXXEXXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) KindUnit) = ''TypeBXXBXXEBXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))))) KindUnit) = ''TypeBXXXBXXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))))) KindUnit) = ''TypeBXXXXBXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit) = ''TypeBBXXXEXXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit) = ''TypeBBXXXEBXXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit) = ''TypeBBXXXEXBXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit) = ''TypeBBXXXEBXXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit) = ''TypeBBXXXEBBXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit) = ''TypeBBBXXEXEXXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit) = ''TypeBBBXXEXEBXXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit) = ''TypeBBBXXEXEXBXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit) = ''TypeBBBXXEXEBXXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit) = ''TypeBBBXXEXEBBXXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit) = ''TypeBXBXXXEXXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit) = ''TypeBXBXXXEBXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit) = ''TypeBXBBXXEXEXXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit) = ''TypeBXBBXXEXEBXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)))) KindUnit) = ''TypeBXXBXXXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)))) KindUnit) = ''TypeBXXBBXXEXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)))) KindUnit) = ''TypeBXXXBXXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)))) KindUnit) = ''TypeBXXXBBXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) = ''TypeBBXXXXEXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) = ''TypeBBXXXXEBXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) = ''TypeBBBXXEXXEXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) = ''TypeBBBXXEXXEBXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) = ''TypeBBXBXXEXEXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) = ''TypeBBXBXXEXEBXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) = ''TypeBBBXXXEXEXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) = ''TypeBBBXXXEXEBXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) = ''TypeBBBBXXEXEXEXXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) = ''TypeBBBBXXEXEXEBXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit))) KindUnit) = ''TypeBXBXXXXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))) KindUnit) = ''TypeBXBBXXEXXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit))) KindUnit) = ''TypeBXBXBXXEXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit))) KindUnit) = ''TypeBXBBXXXEXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit))) KindUnit) = ''TypeBXBBBXXEXEXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit))) KindUnit) = ''TypeBXXBXXXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit))) KindUnit) = ''TypeBXXBBXXEXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit))) KindUnit) = ''TypeBXXBXBXXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit))) KindUnit) = ''TypeBXXBBXXXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit))) KindUnit) = ''TypeBXXBBBXXEXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBBXXXXXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBBBXXEXXXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBBBXXEBXXEXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBBXBXXEXXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBBXXBXXEXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBBBXXXEXXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBBBBXXEXEXXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBBXBXXXEXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBBXBBXXEXEXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBBBXXXXEXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBBBBXXEXXEXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBBBXBXXEXEXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBBBBXXXEXEXEXXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) = ''TypeBBBBBXXEXEXEXEXXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit)) KindUnit) = ''TypeBXBXXXXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)) KindUnit) = ''TypeBXBBXXEXXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)) KindUnit) = ''TypeBXBBXXEBXXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit)) KindUnit) = ''TypeBXBXBXXEXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit)) KindUnit) = ''TypeBXBXXBXXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit) = ''TypeBXBBXXXEXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit) = ''TypeBXBBBXXEXEXXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit)) KindUnit) = ''TypeBXBXBXXXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit)) KindUnit) = ''TypeBXBXBBXXEXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit)) KindUnit) = ''TypeBXBBXXXXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)) KindUnit) = ''TypeBXBBBXXEXXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit)) KindUnit) = ''TypeBXBBXBXXEXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit)) KindUnit) = ''TypeBXBBBXXXEXEXEXE
typeConstructorName (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) KindUnit)) KindUnit) = ''TypeBXBBBBXXEXEXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))))) KindUnit) KindUnit) = ''TypeBBXXXXXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit) KindUnit) = ''TypeBBBXXEXXXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit) KindUnit) = ''TypeBBBXXEBXXEXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit) KindUnit) = ''TypeBBBXXEXBXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit) KindUnit) = ''TypeBBBXXEBXXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit) KindUnit) = ''TypeBBBXXEBBXXEXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit) KindUnit) = ''TypeBBXBXXEXXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit) KindUnit) = ''TypeBBXBXXEBXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)))) KindUnit) KindUnit) = ''TypeBBXXBXXEXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)))) KindUnit) KindUnit) = ''TypeBBXXXBXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit) = ''TypeBBBXXXEXXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit) = ''TypeBBBXXXEBXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit) = ''TypeBBBBXXEXEXXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit) = ''TypeBBBBXXEXEBXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit))) KindUnit) KindUnit) = ''TypeBBXBXXXEXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit))) KindUnit) KindUnit) = ''TypeBBXBBXXEXEXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit))) KindUnit) KindUnit) = ''TypeBBXXBXXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit))) KindUnit) KindUnit) = ''TypeBBXXBBXXEXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) = ''TypeBBBXXXXEXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) = ''TypeBBBBXXEXXEXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) = ''TypeBBBXBXXEXEXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) = ''TypeBBBBXXXEXEXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) = ''TypeBBBBBXXEXEXEXXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit)) KindUnit) KindUnit) = ''TypeBBXBXXXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit) KindUnit) = ''TypeBBXBBXXEXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit)) KindUnit) KindUnit) = ''TypeBBXBXBXXEXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit)) KindUnit) KindUnit) = ''TypeBBXBBXXXEXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit)) KindUnit) KindUnit) = ''TypeBBXBBBXXEXEXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit)))) KindUnit) KindUnit) KindUnit) = ''TypeBBBXXXXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit) KindUnit) = ''TypeBBBBXXEXXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit) KindUnit) = ''TypeBBBBXXEBXXEXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit))) KindUnit) KindUnit) KindUnit) = ''TypeBBBXBXXEXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit))) KindUnit) KindUnit) KindUnit) = ''TypeBBBXXBXXEXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit) = ''TypeBBBBXXXEXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit) = ''TypeBBBBBXXEXEXXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit)) KindUnit) KindUnit) KindUnit) = ''TypeBBBXBXXXEXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit)) KindUnit) KindUnit) KindUnit) = ''TypeBBBXBBXXEXEXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit (KindArrow KindUnit KindUnit))) KindUnit) KindUnit) KindUnit) KindUnit) = ''TypeBBBBXXXXEXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit) KindUnit) = ''TypeBBBBBXXEXXEXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow (KindArrow KindUnit KindUnit) KindUnit)) KindUnit) KindUnit) KindUnit) KindUnit) = ''TypeBBBBXBXXEXEXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit (KindArrow KindUnit KindUnit)) KindUnit) KindUnit) KindUnit) KindUnit) KindUnit) = ''TypeBBBBBXXXEXEXEXEXE
typeConstructorName (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow (KindArrow KindUnit KindUnit) KindUnit) KindUnit) KindUnit) KindUnit) KindUnit) KindUnit) = ''TypeBBBBBBXXEXEXEXEXEXE
typeConstructorName _ = error "Type constructor recurse depth exceeded. (Recompile the module type with a higher recurse depth.)"