singletons-1.0: A framework for generating singleton types

Copyright(C) 2013 Richard Eisenberg
LicenseBSD-style (see LICENSE)
MaintainerRichard Eisenberg (eir@cis.upenn.edu)
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Singletons.TH

Contents

Description

This module contains everything you need to derive your own singletons via Template Haskell.

TURN ON -XScopedTypeVariables IN YOUR MODULE IF YOU WANT THIS TO WORK.

Synopsis

Primary Template Haskell generation functions

singletons :: Quasi q => q [Dec] -> q [Dec] Source

Make promoted and singleton versions of all declarations given, retaining the original declarations. See http://www.cis.upenn.edu/~eir/packages/singletons/README.html for further explanation.

singletonsOnly :: Quasi q => q [Dec] -> q [Dec] Source

Make promoted and singleton versions of all declarations given, discarding the original declarations.

genSingletons :: Quasi q => [Name] -> q [Dec] Source

Generate singleton definitions from a type that is already defined. For example, the singletons package itself uses

$(genSingletons [''Bool, ''Maybe, ''Either, ''[]])

to generate singletons for Prelude types.

promote :: Quasi q => q [Dec] -> q [Dec] Source

Promote every declaration given to the type level, retaining the originals.

promoteOnly :: Quasi q => q [Dec] -> q [Dec] Source

Promote each declaration, discarding the originals.

genDefunSymbols :: Quasi q => [Name] -> q [Dec] Source

Generate defunctionalization symbols for existing type family

genPromotions :: Quasi q => [Name] -> q [Dec] Source

Generate promoted definitions from a type that is already defined. This is generally only useful with classes.

Functions to generate equality instances

promoteEqInstances :: Quasi q => [Name] -> q [Dec] Source

Produce instances for '(:==)' (type-level equality) from the given types

promoteEqInstance :: Quasi q => Name -> q [Dec] Source

Produce an instance for '(:==)' (type-level equality) from the given type

singEqInstances :: Quasi q => [Name] -> q [Dec] Source

Create instances of SEq and type-level '(:==)' for each type in the list

singEqInstance :: Quasi q => Name -> q [Dec] Source

Create instance of SEq and type-level '(:==)' for the given type

singEqInstancesOnly :: Quasi q => [Name] -> q [Dec] Source

Create instances of SEq (only -- no instance for '(:==)', which SEq generally relies on) for each type in the list

singEqInstanceOnly :: Quasi q => Name -> q [Dec] Source

Create instances of SEq (only -- no instance for '(:==)', which SEq generally relies on) for the given type

singDecideInstances :: Quasi q => [Name] -> q [Dec] Source

Create instances of SDecide for each type in the list.

Note that, due to a bug in GHC 7.6.3 (and lower) optimizing instances for SDecide can make GHC hang. You may want to put {-# OPTIONS_GHC -O0 #-} in your file.

singDecideInstance :: Quasi q => Name -> q [Dec] Source

Create instance of SDecide for the given type.

Note that, due to a bug in GHC 7.6.3 (and lower) optimizing instances for SDecide can make GHC hang. You may want to put {-# OPTIONS_GHC -O0 #-} in your file.

Functions to generate Ord instances

promoteOrdInstances :: Quasi q => [Name] -> q [Dec] Source

Produce instances for Compare from the given types

promoteOrdInstance :: Quasi q => Name -> q [Dec] Source

Produce an instance for Compare from the given type

Functions to generate Ord instances

promoteBoundedInstances :: Quasi q => [Name] -> q [Dec] Source

Produce instances for MinBound and MaxBound from the given types

promoteBoundedInstance :: Quasi q => Name -> q [Dec] Source

Produce an instance for MinBound and MaxBound from the given type

Utility function

cases Source

Arguments

:: Quasi q 
=> Name

The head of the type of the scrutinee. (Like ''Maybe or ''Bool.)

-> q Exp

The scrutinee, in a Template Haskell quote

-> q Exp

The body, in a Template Haskell quote

-> q Exp 

The function cases generates a case expression where each right-hand side is identical. This may be useful if the type-checker requires knowledge of which constructor is used to satisfy equality or type-class constraints, but where each constructor is treated the same.

Basic singleton definitions

data family Sing a Source

The singleton kind-indexed data family.

Instances

TestCoercion * (Sing *) 
SDecide k (KProxy k) => TestEquality k (Sing k) 
data Sing Bool where 
data Sing Ordering where 
data Sing * where 
data Sing Nat where 
data Sing Symbol where 
data Sing () where 
data Sing [a0] where 
data Sing (Maybe a0) where 
data Sing (TyFun k1 k2 -> *) = SLambda {} 
data Sing (Either a0 b0) where 
data Sing ((,) a0 b0) where 
data Sing ((,,) a0 b0 c0) where 
data Sing ((,,,) a0 b0 c0 d0) where 
data Sing ((,,,,) a0 b0 c0 d0 e0) where 
data Sing ((,,,,,) a0 b0 c0 d0 e0 f0) where 
data Sing ((,,,,,,) a0 b0 c0 d0 e0 f0 g0) where 

Auxiliary definitions

These definitions might be mentioned in code generated by Template Haskell, so they must be in scope.

class (kproxy ~ KProxy) => PEq kproxy Source

The promoted analogue of Eq. If you supply no definition for '(:==)' under GHC 7.8+, then it defaults to a use of '(==)', from Data.Type.Equality.

Associated Types

type x :== y :: Bool Source

type x :/= y :: Bool Source

Instances

PEq Bool (KProxy Bool) 
PEq Ordering (KProxy Ordering) 
PEq * (KProxy *) 
PEq Nat (KProxy Nat) 
PEq Symbol (KProxy Symbol) 
PEq () (KProxy ()) 
PEq [k] (KProxy [k]) 
PEq (Maybe k) (KProxy (Maybe k)) 
PEq (Either k k) (KProxy (Either k k)) 
PEq ((,) k k) (KProxy ((,) k k)) 
PEq ((,,) k k k) (KProxy ((,,) k k k)) 
PEq ((,,,) k k k k) (KProxy ((,,,) k k k k)) 
PEq ((,,,,) k k k k k) (KProxy ((,,,,) k k k k k)) 
PEq ((,,,,,) k k k k k k) (KProxy ((,,,,,) k k k k k k)) 
PEq ((,,,,,,) k k k k k k k) (KProxy ((,,,,,,) k k k k k k k)) 

type family If cond tru fls :: k

Type-level If. If True a b ==> a; If False a b ==> b

Equations

If k True tru fls = tru 
If k False tru fls = fls 

sIf :: Sing a -> Sing b -> Sing c -> Sing (If a b c) Source

Conditional over singletons

type family a :&& a :: Bool Source

Equations

False :&& z = FalseSym0 
True :&& x = x 

class (kparam ~ KProxy) => SEq kparam where Source

The singleton analogue of Eq. Unlike the definition for Eq, it is required that instances define a body for '(%:==)'. You may also supply a body for '(%:/=)'.

Minimal complete definition

(%:==)

Methods

(%:==) :: forall a b. Sing a -> Sing b -> Sing (a :== b) Source

Boolean equality on singletons

(%:/=) :: forall a b. Sing a -> Sing b -> Sing (a :/= b) Source

Boolean disequality on singletons

Instances

SEq Bool (KProxy Bool) 
SEq Ordering (KProxy Ordering) 
SEq * (KProxy *) 
SEq Nat (KProxy Nat) 
SEq Symbol (KProxy Symbol) 
SEq () (KProxy ()) 
SEq a0 (KProxy a0) => SEq [a] (KProxy [a]) 
SEq a0 (KProxy a0) => SEq (Maybe a) (KProxy (Maybe a)) 
(SEq a0 (KProxy a0), SEq b0 (KProxy b0)) => SEq (Either a b) (KProxy (Either a b)) 
(SEq a0 (KProxy a0), SEq b0 (KProxy b0)) => SEq ((,) a b) (KProxy ((,) a b)) 
(SEq a0 (KProxy a0), SEq b0 (KProxy b0), SEq c0 (KProxy c0)) => SEq ((,,) a b c) (KProxy ((,,) a b c)) 
(SEq a0 (KProxy a0), SEq b0 (KProxy b0), SEq c0 (KProxy c0), SEq d0 (KProxy d0)) => SEq ((,,,) a b c d) (KProxy ((,,,) a b c d)) 
(SEq a0 (KProxy a0), SEq b0 (KProxy b0), SEq c0 (KProxy c0), SEq d0 (KProxy d0), SEq e0 (KProxy e0)) => SEq ((,,,,) a b c d e) (KProxy ((,,,,) a b c d e)) 
(SEq a0 (KProxy a0), SEq b0 (KProxy b0), SEq c0 (KProxy c0), SEq d0 (KProxy d0), SEq e0 (KProxy e0), SEq f0 (KProxy f0)) => SEq ((,,,,,) a b c d e f) (KProxy ((,,,,,) a b c d e f)) 
(SEq a0 (KProxy a0), SEq b0 (KProxy b0), SEq c0 (KProxy c0), SEq d0 (KProxy d0), SEq e0 (KProxy e0), SEq f0 (KProxy f0), SEq g0 (KProxy g0)) => SEq ((,,,,,,) a b c d e f g) (KProxy ((,,,,,,) a b c d e f g)) 

class (PEq (KProxy :: KProxy a), (~) kproxy KProxy) => POrd kproxy Source

Associated Types

type Compare arg arg :: Ordering Source

type arg :< arg :: Bool Source

type arg :>= arg :: Bool Source

type arg :> arg :: Bool Source

type arg :<= arg :: Bool Source

type Max arg arg :: a Source

type Min arg arg :: a Source

Instances

POrd Bool (KProxy Bool) 
POrd Ordering (KProxy Ordering) 
POrd Nat (KProxy Nat) 
POrd Symbol (KProxy Symbol) 
POrd () (KProxy ()) 
POrd [k] (KProxy [k]) 
POrd (Maybe k) (KProxy (Maybe k)) 
POrd (Either k k) (KProxy (Either k k)) 
POrd ((,) k k) (KProxy ((,) k k)) 
POrd ((,,) k k k) (KProxy ((,,) k k k)) 
POrd ((,,,) k k k k) (KProxy ((,,,) k k k k)) 
POrd ((,,,,) k k k k k) (KProxy ((,,,,) k k k k k)) 
POrd ((,,,,,) k k k k k k) (KProxy ((,,,,,) k k k k k k)) 
POrd ((,,,,,,) k k k k k k k) (KProxy ((,,,,,,) k k k k k k k)) 

data Any :: k

The type constructor Any is type to which you can unsafely coerce any lifted type, and back.

  • It is lifted, and hence represented by a pointer
  • It does not claim to be a data type, and that's important for the code generator, because the code gen may enter a data value but never enters a function value.

It's also used to instantiate un-constrained type variables after type checking. For example, length has type

length :: forall a. [a] -> Int

and the list datacon for the empty list has type

[] :: forall a. [a]

In order to compose these two terms as length [] a type application is required, but there is no constraint on the choice. In this situation GHC uses Any:

length (Any *) ([] (Any *))

Note that Any is kind polymorphic, and takes a kind k as its first argument. The kind of Any is thus forall k. k -> k.

class (kparam ~ KProxy) => SDecide kparam where Source

Members of the SDecide "kind" class support decidable equality. Instances of this class are generated alongside singleton definitions for datatypes that derive an Eq instance.

Methods

(%~) :: forall a b. Sing a -> Sing b -> Decision (a :~: b) Source

Compute a proof or disproof of equality, given two singletons.

Instances

SDecide Bool (KProxy Bool) 
SDecide Ordering (KProxy Ordering) 
SDecide * (KProxy *) 
SDecide Nat (KProxy Nat) 
SDecide Symbol (KProxy Symbol) 
SDecide () (KProxy ()) 
SDecide a0 (KProxy a0) => SDecide [a] (KProxy [a]) 
SDecide a0 (KProxy a0) => SDecide (Maybe a) (KProxy (Maybe a)) 
(SDecide a0 (KProxy a0), SDecide b0 (KProxy b0)) => SDecide (Either a b) (KProxy (Either a b)) 
(SDecide a0 (KProxy a0), SDecide b0 (KProxy b0)) => SDecide ((,) a b) (KProxy ((,) a b)) 
(SDecide a0 (KProxy a0), SDecide b0 (KProxy b0), SDecide c0 (KProxy c0)) => SDecide ((,,) a b c) (KProxy ((,,) a b c)) 
(SDecide a0 (KProxy a0), SDecide b0 (KProxy b0), SDecide c0 (KProxy c0), SDecide d0 (KProxy d0)) => SDecide ((,,,) a b c d) (KProxy ((,,,) a b c d)) 
(SDecide a0 (KProxy a0), SDecide b0 (KProxy b0), SDecide c0 (KProxy c0), SDecide d0 (KProxy d0), SDecide e0 (KProxy e0)) => SDecide ((,,,,) a b c d e) (KProxy ((,,,,) a b c d e)) 
(SDecide a0 (KProxy a0), SDecide b0 (KProxy b0), SDecide c0 (KProxy c0), SDecide d0 (KProxy d0), SDecide e0 (KProxy e0), SDecide f0 (KProxy f0)) => SDecide ((,,,,,) a b c d e f) (KProxy ((,,,,,) a b c d e f)) 
(SDecide a0 (KProxy a0), SDecide b0 (KProxy b0), SDecide c0 (KProxy c0), SDecide d0 (KProxy d0), SDecide e0 (KProxy e0), SDecide f0 (KProxy f0), SDecide g0 (KProxy g0)) => SDecide ((,,,,,,) a b c d e f g) (KProxy ((,,,,,,) a b c d e f g)) 

data a :~: b :: k -> k -> * where infix 4

Propositional equality. If a :~: b is inhabited by some terminating value, then the type a is the same as the type b. To use this equality in practice, pattern-match on the a :~: b to get out the Refl constructor; in the body of the pattern-match, the compiler knows that a ~ b.

Since: 4.7.0.0

Constructors

Refl :: (:~:) k a1 a1 

Instances

TestCoercion k ((:~:) k a) 
TestEquality k ((:~:) k a) 
Typeable (k -> k -> *) ((:~:) k) 
(~) k a b => Bounded ((:~:) k a b) 
(~) k a b => Enum ((:~:) k a b) 
Eq ((:~:) k a b) 
((~) * a b, Data a) => Data ((:~:) * a b) 
Ord ((:~:) k a b) 
(~) k a b => Read ((:~:) k a b) 
Show ((:~:) k a b) 

data Void Source

A logically uninhabited data type.

Instances

Eq Void 
Data Void 
Ord Void 
Read Void

Reading a Void value is always a parse error, considering Void as a data type with no constructors.

Show Void 
Ix Void 
Generic Void 
Exception Void 
Typeable * Void 
type Rep Void 

type Refuted a = a -> Void Source

Because we can never create a value of type Void, a function that type-checks at a -> Void shows that objects of type a can never exist. Thus, we say that a is Refuted

data Decision a Source

A Decision about a type a is either a proof of existence or a proof that a cannot exist.

Constructors

Proved a

Witness for a

Disproved (Refuted a)

Proof that no a exists

data Proxy t :: k -> *

A concrete, poly-kinded proxy type

Constructors

Proxy 

Instances

Monad (Proxy *) 
Functor (Proxy *) 
Applicative (Proxy *) 
Foldable (Proxy *) 
Traversable (Proxy *) 
Bounded (Proxy k s) 
Enum (Proxy k s) 
Eq (Proxy k s) 
Data t => Data (Proxy * t) 
Ord (Proxy k s) 
Read (Proxy k s) 
Show (Proxy k s) 
Ix (Proxy k s) 
Generic (Proxy * t) 
Monoid (Proxy * s) 
Typeable (k -> *) (Proxy k) 
type Rep (Proxy k t) = D1 D1Proxy (C1 C1_0Proxy U1) 

data KProxy t :: * -> *

A concrete, promotable proxy type, for use at the kind level There are no instances for this because it is intended at the kind level only

Constructors

KProxy 

data SomeSing kproxy where Source

An existentially-quantified singleton. This type is useful when you want a singleton type, but there is no way of knowing, at compile-time, what the type index will be. To make use of this type, you will generally have to use a pattern-match:

foo :: Bool -> ...
foo b = case toSing b of
          SomeSing sb -> {- fancy dependently-typed code with sb -}

An example like the one above may be easier to write using withSomeSing.

Constructors

SomeSing :: Sing (a :: k) -> SomeSing (KProxy :: KProxy k) 

type family Error str :: k Source

The promotion of error

data ErrorSym0 t1 Source

Instances

type Apply k Symbol (ErrorSym0 Symbol k) a = Error k a 

data Tuple2Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun k ((,) k k) -> *) -> *) (Tuple2Sym0 k k) 
type Apply (TyFun k1 ((,) k k1) -> *) k (Tuple2Sym0 k1 k) l0 = Tuple2Sym1 k k1 l0 

data Tuple2Sym1 l l Source

Instances

SuppressUnusedWarnings (k -> TyFun k ((,) k k) -> *) (Tuple2Sym1 k k) 
type Apply ((,) k1 k) k (Tuple2Sym1 k1 k l1) l0 = Tuple2Sym2 k1 k l1 l0 

type Tuple2Sym2 t t = (,) t t Source

data Tuple3Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k ((,,) k k k) -> *) -> *) -> *) (Tuple3Sym0 k k k) 
type Apply (TyFun k2 (TyFun k ((,,) k1 k2 k) -> *) -> *) k1 (Tuple3Sym0 k2 k k1) l0 = Tuple3Sym1 k k1 k2 l0 

data Tuple3Sym1 l l Source

Instances

SuppressUnusedWarnings (k -> TyFun k (TyFun k ((,,) k k k) -> *) -> *) (Tuple3Sym1 k k k) 
type Apply (TyFun k1 ((,,) k2 k k1) -> *) k (Tuple3Sym1 k1 k2 k l1) l0 = Tuple3Sym2 k2 k k1 l1 l0 

data Tuple3Sym2 l l l Source

Instances

SuppressUnusedWarnings (k -> k -> TyFun k ((,,) k k k) -> *) (Tuple3Sym2 k k k) 
type Apply ((,,) k1 k2 k) k (Tuple3Sym2 k1 k2 k l1 l2) l0 = Tuple3Sym3 k1 k2 k l1 l2 l0 

type Tuple3Sym3 t t t = (,,) t t t Source

data Tuple4Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k (TyFun k ((,,,) k k k k) -> *) -> *) -> *) -> *) (Tuple4Sym0 k k k k) 
type Apply (TyFun k3 (TyFun k (TyFun k1 ((,,,) k2 k3 k k1) -> *) -> *) -> *) k2 (Tuple4Sym0 k3 k k1 k2) l0 = Tuple4Sym1 k k1 k2 k3 l0 

data Tuple4Sym1 l l Source

Instances

SuppressUnusedWarnings (k -> TyFun k (TyFun k (TyFun k ((,,,) k k k k) -> *) -> *) -> *) (Tuple4Sym1 k k k k) 
type Apply (TyFun k2 (TyFun k ((,,,) k3 k1 k2 k) -> *) -> *) k1 (Tuple4Sym1 k2 k k3 k1 l1) l0 = Tuple4Sym2 k k3 k1 k2 l1 l0 

data Tuple4Sym2 l l l Source

Instances

SuppressUnusedWarnings (k -> k -> TyFun k (TyFun k ((,,,) k k k k) -> *) -> *) (Tuple4Sym2 k k k k) 
type Apply (TyFun k1 ((,,,) k2 k3 k k1) -> *) k (Tuple4Sym2 k1 k2 k3 k l1 l2) l0 = Tuple4Sym3 k2 k3 k k1 l1 l2 l0 

data Tuple4Sym3 l l l l Source

Instances

SuppressUnusedWarnings (k -> k -> k -> TyFun k ((,,,) k k k k) -> *) (Tuple4Sym3 k k k k) 
type Apply ((,,,) k1 k2 k3 k) k (Tuple4Sym3 k1 k2 k3 k l1 l2 l3) l0 = Tuple4Sym4 k1 k2 k3 k l1 l2 l3 l0 

type Tuple4Sym4 t t t t = (,,,) t t t t Source

data Tuple5Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,) k k k k k) -> *) -> *) -> *) -> *) -> *) (Tuple5Sym0 k k k k k) 
type Apply (TyFun k4 (TyFun k (TyFun k1 (TyFun k2 ((,,,,) k3 k4 k k1 k2) -> *) -> *) -> *) -> *) k3 (Tuple5Sym0 k4 k k1 k2 k3) l0 = Tuple5Sym1 k k1 k2 k3 k4 l0 

data Tuple5Sym1 l l Source

Instances

SuppressUnusedWarnings (k -> TyFun k (TyFun k (TyFun k (TyFun k ((,,,,) k k k k k) -> *) -> *) -> *) -> *) (Tuple5Sym1 k k k k k) 
type Apply (TyFun k3 (TyFun k (TyFun k1 ((,,,,) k4 k2 k3 k k1) -> *) -> *) -> *) k2 (Tuple5Sym1 k3 k k1 k4 k2 l1) l0 = Tuple5Sym2 k k1 k4 k2 k3 l1 l0 

data Tuple5Sym2 l l l Source

Instances

SuppressUnusedWarnings (k -> k -> TyFun k (TyFun k (TyFun k ((,,,,) k k k k k) -> *) -> *) -> *) (Tuple5Sym2 k k k k k) 
type Apply (TyFun k2 (TyFun k ((,,,,) k3 k4 k1 k2 k) -> *) -> *) k1 (Tuple5Sym2 k2 k k3 k4 k1 l1 l2) l0 = Tuple5Sym3 k k3 k4 k1 k2 l1 l2 l0 

data Tuple5Sym3 l l l l Source

Instances

SuppressUnusedWarnings (k -> k -> k -> TyFun k (TyFun k ((,,,,) k k k k k) -> *) -> *) (Tuple5Sym3 k k k k k) 
type Apply (TyFun k1 ((,,,,) k2 k3 k4 k k1) -> *) k (Tuple5Sym3 k1 k2 k3 k4 k l1 l2 l3) l0 = Tuple5Sym4 k2 k3 k4 k k1 l1 l2 l3 l0 

data Tuple5Sym4 l l l l l Source

Instances

SuppressUnusedWarnings (k -> k -> k -> k -> TyFun k ((,,,,) k k k k k) -> *) (Tuple5Sym4 k k k k k) 
type Apply ((,,,,) k1 k2 k3 k4 k) k (Tuple5Sym4 k1 k2 k3 k4 k l1 l2 l3 l4) l0 = Tuple5Sym5 k1 k2 k3 k4 k l1 l2 l3 l4 l0 

type Tuple5Sym5 t t t t t = (,,,,) t t t t t Source

data Tuple6Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,) k k k k k k) -> *) -> *) -> *) -> *) -> *) -> *) (Tuple6Sym0 k k k k k k) 
type Apply (TyFun k5 (TyFun k (TyFun k1 (TyFun k2 (TyFun k3 ((,,,,,) k4 k5 k k1 k2 k3) -> *) -> *) -> *) -> *) -> *) k4 (Tuple6Sym0 k5 k k1 k2 k3 k4) l0 = Tuple6Sym1 k k1 k2 k3 k4 k5 l0 

data Tuple6Sym1 l l Source

Instances

SuppressUnusedWarnings (k -> TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,) k k k k k k) -> *) -> *) -> *) -> *) -> *) (Tuple6Sym1 k k k k k k) 
type Apply (TyFun k4 (TyFun k (TyFun k1 (TyFun k2 ((,,,,,) k5 k3 k4 k k1 k2) -> *) -> *) -> *) -> *) k3 (Tuple6Sym1 k4 k k1 k2 k5 k3 l1) l0 = Tuple6Sym2 k k1 k2 k5 k3 k4 l1 l0 

data Tuple6Sym2 l l l Source

Instances

SuppressUnusedWarnings (k -> k -> TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,) k k k k k k) -> *) -> *) -> *) -> *) (Tuple6Sym2 k k k k k k) 
type Apply (TyFun k3 (TyFun k (TyFun k1 ((,,,,,) k4 k5 k2 k3 k k1) -> *) -> *) -> *) k2 (Tuple6Sym2 k3 k k1 k4 k5 k2 l1 l2) l0 = Tuple6Sym3 k k1 k4 k5 k2 k3 l1 l2 l0 

data Tuple6Sym3 l l l l Source

Instances

SuppressUnusedWarnings (k -> k -> k -> TyFun k (TyFun k (TyFun k ((,,,,,) k k k k k k) -> *) -> *) -> *) (Tuple6Sym3 k k k k k k) 
type Apply (TyFun k2 (TyFun k ((,,,,,) k3 k4 k5 k1 k2 k) -> *) -> *) k1 (Tuple6Sym3 k2 k k3 k4 k5 k1 l1 l2 l3) l0 = Tuple6Sym4 k k3 k4 k5 k1 k2 l1 l2 l3 l0 

data Tuple6Sym4 l l l l l Source

Instances

SuppressUnusedWarnings (k -> k -> k -> k -> TyFun k (TyFun k ((,,,,,) k k k k k k) -> *) -> *) (Tuple6Sym4 k k k k k k) 
type Apply (TyFun k1 ((,,,,,) k2 k3 k4 k5 k k1) -> *) k (Tuple6Sym4 k1 k2 k3 k4 k5 k l1 l2 l3 l4) l0 = Tuple6Sym5 k2 k3 k4 k5 k k1 l1 l2 l3 l4 l0 

data Tuple6Sym5 l l l l l l Source

Instances

SuppressUnusedWarnings (k -> k -> k -> k -> k -> TyFun k ((,,,,,) k k k k k k) -> *) (Tuple6Sym5 k k k k k k) 
type Apply ((,,,,,) k1 k2 k3 k4 k5 k) k (Tuple6Sym5 k1 k2 k3 k4 k5 k l1 l2 l3 l4 l5) l0 = Tuple6Sym6 k1 k2 k3 k4 k5 k l1 l2 l3 l4 l5 l0 

type Tuple6Sym6 t t t t t t = (,,,,,) t t t t t t Source

data Tuple7Sym0 l Source

Instances

SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) -> *) -> *) -> *) -> *) -> *) (Tuple7Sym0 k k k k k k k) 
type Apply (TyFun k6 (TyFun k (TyFun k1 (TyFun k2 (TyFun k3 (TyFun k4 ((,,,,,,) k5 k6 k k1 k2 k3 k4) -> *) -> *) -> *) -> *) -> *) -> *) k5 (Tuple7Sym0 k6 k k1 k2 k3 k4 k5) l0 = Tuple7Sym1 k k1 k2 k3 k4 k5 k6 l0 

data Tuple7Sym1 l l Source

Instances

SuppressUnusedWarnings (k -> TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) -> *) -> *) -> *) -> *) (Tuple7Sym1 k k k k k k k) 
type Apply (TyFun k5 (TyFun k (TyFun k1 (TyFun k2 (TyFun k3 ((,,,,,,) k6 k4 k5 k k1 k2 k3) -> *) -> *) -> *) -> *) -> *) k4 (Tuple7Sym1 k5 k k1 k2 k3 k6 k4 l1) l0 = Tuple7Sym2 k k1 k2 k3 k6 k4 k5 l1 l0 

data Tuple7Sym2 l l l Source

Instances

SuppressUnusedWarnings (k -> k -> TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) -> *) -> *) -> *) (Tuple7Sym2 k k k k k k k) 
type Apply (TyFun k4 (TyFun k (TyFun k1 (TyFun k2 ((,,,,,,) k5 k6 k3 k4 k k1 k2) -> *) -> *) -> *) -> *) k3 (Tuple7Sym2 k4 k k1 k2 k5 k6 k3 l1 l2) l0 = Tuple7Sym3 k k1 k2 k5 k6 k3 k4 l1 l2 l0 

data Tuple7Sym3 l l l l Source

Instances

SuppressUnusedWarnings (k -> k -> k -> TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) -> *) -> *) (Tuple7Sym3 k k k k k k k) 
type Apply (TyFun k3 (TyFun k (TyFun k1 ((,,,,,,) k4 k5 k6 k2 k3 k k1) -> *) -> *) -> *) k2 (Tuple7Sym3 k3 k k1 k4 k5 k6 k2 l1 l2 l3) l0 = Tuple7Sym4 k k1 k4 k5 k6 k2 k3 l1 l2 l3 l0 

data Tuple7Sym4 l l l l l Source

Instances

SuppressUnusedWarnings (k -> k -> k -> k -> TyFun k (TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) -> *) (Tuple7Sym4 k k k k k k k) 
type Apply (TyFun k2 (TyFun k ((,,,,,,) k3 k4 k5 k6 k1 k2 k) -> *) -> *) k1 (Tuple7Sym4 k2 k k3 k4 k5 k6 k1 l1 l2 l3 l4) l0 = Tuple7Sym5 k k3 k4 k5 k6 k1 k2 l1 l2 l3 l4 l0 

data Tuple7Sym5 l l l l l l Source

Instances

SuppressUnusedWarnings (k -> k -> k -> k -> k -> TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) (Tuple7Sym5 k k k k k k k) 
type Apply (TyFun k1 ((,,,,,,) k2 k3 k4 k5 k6 k k1) -> *) k (Tuple7Sym5 k1 k2 k3 k4 k5 k6 k l1 l2 l3 l4 l5) l0 = Tuple7Sym6 k2 k3 k4 k5 k6 k k1 l1 l2 l3 l4 l5 l0 

data Tuple7Sym6 l l l l l l l Source

Instances

SuppressUnusedWarnings (k -> k -> k -> k -> k -> k -> TyFun k ((,,,,,,) k k k k k k k) -> *) (Tuple7Sym6 k k k k k k k) 
type Apply ((,,,,,,) k1 k2 k3 k4 k5 k6 k) k (Tuple7Sym6 k1 k2 k3 k4 k5 k6 k l1 l2 l3 l4 l5 l6) l0 = Tuple7Sym7 k1 k2 k3 k4 k5 k6 k l1 l2 l3 l4 l5 l6 l0 

type Tuple7Sym7 t t t t t t t = (,,,,,,) t t t t t t t Source

class SuppressUnusedWarnings t where Source

This class (which users should never see) is to be instantiated in order to use an otherwise-unused data constructor, such as the "kind-inference" data constructor for defunctionalization symbols.

Instances

SuppressUnusedWarnings (Bool -> TyFun Bool Bool -> *) (:&&$$) 
SuppressUnusedWarnings (Bool -> TyFun Bool Bool -> *) (:||$$) 
SuppressUnusedWarnings (Ordering -> TyFun Ordering Ordering -> *) ThenCmpSym1 
SuppressUnusedWarnings (Nat -> TyFun Nat Nat -> *) (:^$$) 
SuppressUnusedWarnings (Nat -> TyFun Nat Nat -> *) (:*$$) 
SuppressUnusedWarnings (Nat -> TyFun Nat Nat -> *) (:-$$) 
SuppressUnusedWarnings (Nat -> TyFun Nat Nat -> *) (:+$$) 
SuppressUnusedWarnings (TyFun Bool Bool -> *) NotSym0 
SuppressUnusedWarnings (TyFun Bool (TyFun Bool Bool -> *) -> *) (:&&$) 
SuppressUnusedWarnings (TyFun Bool (TyFun Bool Bool -> *) -> *) (:||$) 
SuppressUnusedWarnings (TyFun [Bool] Bool -> *) AndSym0 
SuppressUnusedWarnings (TyFun [Bool] Bool -> *) OrSym0 
SuppressUnusedWarnings (TyFun [Nat] Nat -> *) SumSym0 
SuppressUnusedWarnings (TyFun [Nat] Nat -> *) ProductSym0 
SuppressUnusedWarnings (TyFun Ordering (TyFun Ordering Ordering -> *) -> *) ThenCmpSym0 
SuppressUnusedWarnings (TyFun Nat (TyFun Nat Nat -> *) -> *) (:^$) 
SuppressUnusedWarnings (TyFun Nat (TyFun Nat Nat -> *) -> *) (:*$) 
SuppressUnusedWarnings (TyFun Nat (TyFun Nat Nat -> *) -> *) (:-$) 
SuppressUnusedWarnings (TyFun Nat (TyFun Nat Nat -> *) -> *) (:+$) 
SuppressUnusedWarnings ((TyFun k Bool -> *) -> TyFun (TyFun k k -> *) (TyFun k k -> *) -> *) (UntilSym1 k) 
SuppressUnusedWarnings ((TyFun k Bool -> *) -> (TyFun k k -> *) -> TyFun k k -> *) (UntilSym2 k) 
SuppressUnusedWarnings ((TyFun k Bool -> *) -> TyFun [k] Bool -> *) (Any_Sym1 k) 
SuppressUnusedWarnings ((TyFun k (TyFun k Bool -> *) -> *) -> TyFun [k] (TyFun [k] [k] -> *) -> *) (DeleteFirstsBySym1 k) 
SuppressUnusedWarnings ((TyFun k (TyFun k Bool -> *) -> *) -> [k] -> TyFun [k] [k] -> *) (DeleteFirstsBySym2 k) 
SuppressUnusedWarnings ((TyFun k (TyFun k Ordering -> *) -> *) -> TyFun [k] k -> *) (MinimumBySym1 k) 
SuppressUnusedWarnings ((TyFun k (TyFun k Ordering -> *) -> *) -> TyFun [k] k -> *) (MaximumBySym1 k) 
SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun [k] k -> *) (Foldl1Sym1 k) 
SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun [k] k -> *) (Foldl1'Sym1 k) 
SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun [k] k -> *) (Foldr1Sym1 k) 
SuppressUnusedWarnings ((TyFun k Bool -> *) -> TyFun [k] Bool -> *) (AllSym1 k) 
SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun [k] [k] -> *) (Scanl1Sym1 k) 
SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun [k] [k] -> *) (Scanr1Sym1 k) 
SuppressUnusedWarnings ((TyFun k (TyFun k Bool -> *) -> *) -> TyFun k (TyFun [k] [k] -> *) -> *) (DeleteBySym1 k) 
SuppressUnusedWarnings ((TyFun k (TyFun k Bool -> *) -> *) -> k -> TyFun [k] [k] -> *) (DeleteBySym2 k) 
SuppressUnusedWarnings ((TyFun k (TyFun k Ordering -> *) -> *) -> TyFun [k] [k] -> *) (SortBySym1 k) 
SuppressUnusedWarnings ((TyFun k (TyFun k Ordering -> *) -> *) -> TyFun k (TyFun [k] [k] -> *) -> *) (InsertBySym1 k) 
SuppressUnusedWarnings ((TyFun k (TyFun k Ordering -> *) -> *) -> k -> TyFun [k] [k] -> *) (InsertBySym2 k) 
SuppressUnusedWarnings ((TyFun k Bool -> *) -> TyFun [k] (Maybe Nat) -> *) (FindIndexSym1 k) 
SuppressUnusedWarnings ((TyFun k Bool -> *) -> TyFun [k] [Nat] -> *) (FindIndicesSym1 k) 
SuppressUnusedWarnings ((TyFun k Bool -> *) -> TyFun [k] [k] -> *) (TakeWhileSym1 k) 
SuppressUnusedWarnings ((TyFun k Bool -> *) -> TyFun [k] [k] -> *) (DropWhileSym1 k) 
SuppressUnusedWarnings ((TyFun k Bool -> *) -> TyFun [k] [k] -> *) (DropWhileEndSym1 k) 
SuppressUnusedWarnings ((TyFun k (TyFun k Bool -> *) -> *) -> TyFun [k] [[k]] -> *) (GroupBySym1 k) 
SuppressUnusedWarnings ((TyFun k Bool -> *) -> TyFun [k] ((,) [k] [k]) -> *) (SpanSym1 k) 
SuppressUnusedWarnings ((TyFun k Bool -> *) -> TyFun [k] ((,) [k] [k]) -> *) (BreakSym1 k) 
SuppressUnusedWarnings ((TyFun k Bool -> *) -> TyFun [k] (Maybe k) -> *) (FindSym1 k) 
SuppressUnusedWarnings ((TyFun k (TyFun k Bool -> *) -> *) -> TyFun [k] (TyFun [k] [k] -> *) -> *) (IntersectBySym1 k) 
SuppressUnusedWarnings ((TyFun k (TyFun k Bool -> *) -> *) -> [k] -> TyFun [k] [k] -> *) (IntersectBySym2 k) 
SuppressUnusedWarnings ((TyFun k Bool -> *) -> TyFun [k] [k] -> *) (FilterSym1 k) 
SuppressUnusedWarnings ((TyFun k Bool -> *) -> TyFun [k] ((,) [k] [k]) -> *) (PartitionSym1 k) 
SuppressUnusedWarnings ((TyFun k (TyFun k Bool -> *) -> *) -> TyFun [k] (TyFun [k] [k] -> *) -> *) (UnionBySym1 k) 
SuppressUnusedWarnings ((TyFun k (TyFun k Bool -> *) -> *) -> [k] -> TyFun [k] [k] -> *) (UnionBySym2 k) 
SuppressUnusedWarnings ((TyFun k (TyFun k Bool -> *) -> *) -> TyFun [k] [k] -> *) (NubBySym1 k) 
SuppressUnusedWarnings ([k] -> TyFun [k] [k] -> *) ((:++$$) k) 
SuppressUnusedWarnings ([k] -> TyFun [k] Bool -> *) (IsSuffixOfSym1 k) 
SuppressUnusedWarnings ([k] -> TyFun [[k]] [k] -> *) (IntercalateSym1 k) 
SuppressUnusedWarnings ([k] -> TyFun [k] [k] -> *) ((:\\$$) k) 
SuppressUnusedWarnings ([k] -> TyFun [k] Bool -> *) (IsInfixOfSym1 k) 
SuppressUnusedWarnings ([k] -> TyFun [k] Bool -> *) (IsPrefixOfSym1 k) 
SuppressUnusedWarnings ([k] -> TyFun [k] (Maybe [k]) -> *) (StripPrefixSym1 k) 
SuppressUnusedWarnings ([k] -> TyFun [k] [k] -> *) (IntersectSym1 k) 
SuppressUnusedWarnings ([k] -> TyFun Nat k -> *) ((:!!$$) k) 
SuppressUnusedWarnings ([k] -> TyFun [k] [k] -> *) (UnionSym1 k) 
SuppressUnusedWarnings (Nat -> TyFun [k] ((,) [k] [k]) -> *) (SplitAtSym1 k) 
SuppressUnusedWarnings (Nat -> TyFun [k] [k] -> *) (TakeSym1 k) 
SuppressUnusedWarnings (Nat -> TyFun [k] [k] -> *) (DropSym1 k) 
SuppressUnusedWarnings (Nat -> TyFun k [k] -> *) (ReplicateSym1 k) 
SuppressUnusedWarnings (k -> TyFun [k] [k] -> *) ((:$$) k) 
SuppressUnusedWarnings (k -> TyFun k (TyFun Bool k -> *) -> *) (Bool_Sym1 k) 
SuppressUnusedWarnings (k -> k -> TyFun Bool k -> *) (Bool_Sym2 k) 
SuppressUnusedWarnings (k -> TyFun k Bool -> *) ((:/=$$) k) 
SuppressUnusedWarnings (k -> TyFun k Bool -> *) ((:==$$) k) 
SuppressUnusedWarnings (k -> TyFun k k -> *) (MinSym1 k) 
SuppressUnusedWarnings (k -> TyFun k k -> *) (MaxSym1 k) 
SuppressUnusedWarnings (k -> TyFun k Bool -> *) ((:<=$$) k) 
SuppressUnusedWarnings (k -> TyFun k Bool -> *) ((:>$$) k) 
SuppressUnusedWarnings (k -> TyFun k Bool -> *) ((:>=$$) k) 
SuppressUnusedWarnings (k -> TyFun k Bool -> *) ((:<$$) k) 
SuppressUnusedWarnings (k -> TyFun k Ordering -> *) (CompareSym1 k) 
SuppressUnusedWarnings (k -> TyFun k k -> *) (AsTypeOfSym1 k) 
SuppressUnusedWarnings (k -> TyFun [k] [k] -> *) (IntersperseSym1 k) 
SuppressUnusedWarnings (k -> TyFun [k] Bool -> *) (ElemSym1 k) 
SuppressUnusedWarnings (k -> TyFun [k] Bool -> *) (NotElemSym1 k) 
SuppressUnusedWarnings (k -> TyFun [k] [k] -> *) (DeleteSym1 k) 
SuppressUnusedWarnings (k -> TyFun (Maybe k) k -> *) (FromMaybeSym1 k) 
SuppressUnusedWarnings (k -> TyFun [k] (Maybe Nat) -> *) (ElemIndexSym1 k) 
SuppressUnusedWarnings (k -> TyFun [k] [Nat] -> *) (ElemIndicesSym1 k) 
SuppressUnusedWarnings (k -> TyFun [k] [k] -> *) (InsertSym1 k) 
SuppressUnusedWarnings (TyFun (TyFun k Bool -> *) (TyFun (TyFun k k -> *) (TyFun k k -> *) -> *) -> *) (UntilSym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k Bool -> *) (TyFun [k] Bool -> *) -> *) (Any_Sym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k Bool -> *) -> *) (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) (DeleteFirstsBySym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k Ordering -> *) -> *) (TyFun [k] k -> *) -> *) (MinimumBySym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k Ordering -> *) -> *) (TyFun [k] k -> *) -> *) (MaximumBySym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun [k] k -> *) -> *) (Foldl1Sym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun [k] k -> *) -> *) (Foldl1'Sym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun [k] k -> *) -> *) (Foldr1Sym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k Bool -> *) (TyFun [k] Bool -> *) -> *) (AllSym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun [k] [k] -> *) -> *) (Scanl1Sym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun [k] [k] -> *) -> *) (Scanr1Sym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k Bool -> *) -> *) (TyFun k (TyFun [k] [k] -> *) -> *) -> *) (DeleteBySym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k Ordering -> *) -> *) (TyFun [k] [k] -> *) -> *) (SortBySym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k Ordering -> *) -> *) (TyFun k (TyFun [k] [k] -> *) -> *) -> *) (InsertBySym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k Bool -> *) (TyFun [k] (Maybe Nat) -> *) -> *) (FindIndexSym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k Bool -> *) (TyFun [k] [Nat] -> *) -> *) (FindIndicesSym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k Bool -> *) (TyFun [k] [k] -> *) -> *) (TakeWhileSym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k Bool -> *) (TyFun [k] [k] -> *) -> *) (DropWhileSym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k Bool -> *) (TyFun [k] [k] -> *) -> *) (DropWhileEndSym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k Bool -> *) -> *) (TyFun [k] [[k]] -> *) -> *) (GroupBySym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k Bool -> *) (TyFun [k] ((,) [k] [k]) -> *) -> *) (SpanSym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k Bool -> *) (TyFun [k] ((,) [k] [k]) -> *) -> *) (BreakSym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k Bool -> *) (TyFun [k] (Maybe k) -> *) -> *) (FindSym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k Bool -> *) -> *) (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) (IntersectBySym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k Bool -> *) (TyFun [k] [k] -> *) -> *) (FilterSym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k Bool -> *) (TyFun [k] ((,) [k] [k]) -> *) -> *) (PartitionSym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k Bool -> *) -> *) (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) (UnionBySym0 k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k Bool -> *) -> *) (TyFun [k] [k] -> *) -> *) (NubBySym0 k) 
SuppressUnusedWarnings (TyFun [[k]] [k] -> *) (ConcatSym0 k) 
SuppressUnusedWarnings (TyFun [[k]] [[k]] -> *) (TransposeSym0 k) 
SuppressUnusedWarnings (TyFun [k] (TyFun [k] [k] -> *) -> *) ((:++$) k) 
SuppressUnusedWarnings (TyFun [k] k -> *) (HeadSym0 k) 
SuppressUnusedWarnings (TyFun [k] k -> *) (LastSym0 k) 
SuppressUnusedWarnings (TyFun [k] [k] -> *) (TailSym0 k) 
SuppressUnusedWarnings (TyFun [k] [k] -> *) (InitSym0 k) 
SuppressUnusedWarnings (TyFun [k] Bool -> *) (NullSym0 k) 
SuppressUnusedWarnings (TyFun [k] (TyFun [k] Bool -> *) -> *) (IsSuffixOfSym0 k) 
SuppressUnusedWarnings (TyFun [k] [k] -> *) (ReverseSym0 k) 
SuppressUnusedWarnings (TyFun [k] (TyFun [[k]] [k] -> *) -> *) (IntercalateSym0 k) 
SuppressUnusedWarnings (TyFun [k] [[k]] -> *) (SubsequencesSym0 k) 
SuppressUnusedWarnings (TyFun [k] [[k]] -> *) (PermutationsSym0 k) 
SuppressUnusedWarnings (TyFun [k] (TyFun [k] [k] -> *) -> *) ((:\\$) k) 
SuppressUnusedWarnings (TyFun [k] [[k]] -> *) (InitsSym0 k) 
SuppressUnusedWarnings (TyFun [k] (TyFun [k] Bool -> *) -> *) (IsInfixOfSym0 k) 
SuppressUnusedWarnings (TyFun [k] [[k]] -> *) (TailsSym0 k) 
SuppressUnusedWarnings (TyFun [k] (TyFun [k] Bool -> *) -> *) (IsPrefixOfSym0 k) 
SuppressUnusedWarnings (TyFun [k] (Maybe k) -> *) (ListToMaybeSym0 k) 
SuppressUnusedWarnings (TyFun [k] Nat -> *) (LengthSym0 k) 
SuppressUnusedWarnings (TyFun [k] [[k]] -> *) (GroupSym0 k) 
SuppressUnusedWarnings (TyFun [k] (TyFun [k] (Maybe [k]) -> *) -> *) (StripPrefixSym0 k) 
SuppressUnusedWarnings (TyFun [k] k -> *) (MaximumSym0 k) 
SuppressUnusedWarnings (TyFun [k] k -> *) (MinimumSym0 k) 
SuppressUnusedWarnings (TyFun [k] [k] -> *) (SortSym0 k) 
SuppressUnusedWarnings (TyFun [k] (TyFun [k] [k] -> *) -> *) (IntersectSym0 k) 
SuppressUnusedWarnings (TyFun [k] (TyFun Nat k -> *) -> *) ((:!!$) k) 
SuppressUnusedWarnings (TyFun [k] [k] -> *) (NubSym0 k) 
SuppressUnusedWarnings (TyFun [k] (TyFun [k] [k] -> *) -> *) (UnionSym0 k) 
SuppressUnusedWarnings (TyFun [Maybe k] [k] -> *) (CatMaybesSym0 k) 
SuppressUnusedWarnings (TyFun Nat (TyFun [k] ((,) [k] [k]) -> *) -> *) (SplitAtSym0 k) 
SuppressUnusedWarnings (TyFun Nat (TyFun [k] [k] -> *) -> *) (TakeSym0 k) 
SuppressUnusedWarnings (TyFun Nat (TyFun [k] [k] -> *) -> *) (DropSym0 k) 
SuppressUnusedWarnings (TyFun Nat (TyFun k [k] -> *) -> *) (ReplicateSym0 k) 
SuppressUnusedWarnings (TyFun k (TyFun [k] [k] -> *) -> *) ((:$) k) 
SuppressUnusedWarnings (TyFun k (Maybe k) -> *) (JustSym0 k) 
SuppressUnusedWarnings (TyFun k (TyFun k (TyFun Bool k -> *) -> *) -> *) (Bool_Sym0 k) 
SuppressUnusedWarnings (TyFun k (TyFun k Bool -> *) -> *) ((:/=$) k) 
SuppressUnusedWarnings (TyFun k (TyFun k Bool -> *) -> *) ((:==$) k) 
SuppressUnusedWarnings (TyFun k (TyFun k k -> *) -> *) (MinSym0 k) 
SuppressUnusedWarnings (TyFun k (TyFun k k -> *) -> *) (MaxSym0 k) 
SuppressUnusedWarnings (TyFun k (TyFun k Bool -> *) -> *) ((:<=$) k) 
SuppressUnusedWarnings (TyFun k (TyFun k Bool -> *) -> *) ((:>$) k) 
SuppressUnusedWarnings (TyFun k (TyFun k Bool -> *) -> *) ((:>=$) k) 
SuppressUnusedWarnings (TyFun k (TyFun k Bool -> *) -> *) ((:<$) k) 
SuppressUnusedWarnings (TyFun k (TyFun k Ordering -> *) -> *) (CompareSym0 k) 
SuppressUnusedWarnings (TyFun k k -> *) (IdSym0 k) 
SuppressUnusedWarnings (TyFun k (TyFun k k -> *) -> *) (AsTypeOfSym0 k) 
SuppressUnusedWarnings (TyFun k (TyFun [k] [k] -> *) -> *) (IntersperseSym0 k) 
SuppressUnusedWarnings (TyFun k (TyFun [k] Bool -> *) -> *) (ElemSym0 k) 
SuppressUnusedWarnings (TyFun k (TyFun [k] Bool -> *) -> *) (NotElemSym0 k) 
SuppressUnusedWarnings (TyFun k (TyFun [k] [k] -> *) -> *) (DeleteSym0 k) 
SuppressUnusedWarnings (TyFun k (TyFun (Maybe k) k -> *) -> *) (FromMaybeSym0 k) 
SuppressUnusedWarnings (TyFun k (TyFun [k] (Maybe Nat) -> *) -> *) (ElemIndexSym0 k) 
SuppressUnusedWarnings (TyFun k (TyFun [k] [Nat] -> *) -> *) (ElemIndicesSym0 k) 
SuppressUnusedWarnings (TyFun k (TyFun [k] [k] -> *) -> *) (InsertSym0 k) 
SuppressUnusedWarnings (TyFun (Maybe k) Bool -> *) (IsJustSym0 k) 
SuppressUnusedWarnings (TyFun (Maybe k) Bool -> *) (IsNothingSym0 k) 
SuppressUnusedWarnings (TyFun (Maybe k) k -> *) (FromJustSym0 k) 
SuppressUnusedWarnings (TyFun (Maybe k) [k] -> *) (MaybeToListSym0 k) 
SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun k (TyFun [k] k -> *) -> *) (FoldrSym1 k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> k -> TyFun [k] k -> *) (FoldrSym2 k k) 
SuppressUnusedWarnings ((TyFun k k -> *) -> TyFun [k] [k] -> *) (MapSym1 k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun k (TyFun [k] k -> *) -> *) (FoldlSym1 k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> k -> TyFun [k] k -> *) (FoldlSym2 k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun k (TyFun [k] k -> *) -> *) (Foldl'Sym1 k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> k -> TyFun [k] k -> *) (Foldl'Sym2 k k) 
SuppressUnusedWarnings ((TyFun k [k] -> *) -> TyFun [k] [k] -> *) (ConcatMapSym1 k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun k (TyFun [k] [k] -> *) -> *) (ScanlSym1 k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> k -> TyFun [k] [k] -> *) (ScanlSym2 k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun k (TyFun [k] [k] -> *) -> *) (ScanrSym1 k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> k -> TyFun [k] [k] -> *) (ScanrSym2 k k) 
SuppressUnusedWarnings ((TyFun k (Maybe ((,) k k)) -> *) -> TyFun k [k] -> *) (UnfoldrSym1 k k) 
SuppressUnusedWarnings ((TyFun k (Maybe k) -> *) -> TyFun [k] [k] -> *) (MapMaybeSym1 k k) 
SuppressUnusedWarnings ([k] -> TyFun [k] [(,) k k] -> *) (ZipSym1 k k) 
SuppressUnusedWarnings ([k] -> TyFun k k -> *) (GenericIndexSym1 k k) 
SuppressUnusedWarnings (k -> TyFun k ((,) k k) -> *) (Tuple2Sym1 k k) 
SuppressUnusedWarnings (k -> TyFun k k -> *) (ConstSym1 k k) 
SuppressUnusedWarnings (k -> TyFun k k -> *) (SeqSym1 k k) 
SuppressUnusedWarnings (k -> TyFun (TyFun k k -> *) (TyFun (Maybe k) k -> *) -> *) (Maybe_Sym1 k k) 
SuppressUnusedWarnings (k -> (TyFun k k -> *) -> TyFun (Maybe k) k -> *) (Maybe_Sym2 k k) 
SuppressUnusedWarnings (k -> TyFun k [k] -> *) (GenericReplicateSym1 k k) 
SuppressUnusedWarnings (k -> TyFun [k] [k] -> *) (GenericTakeSym1 k k) 
SuppressUnusedWarnings (k -> TyFun [k] ((,) [k] [k]) -> *) (GenericSplitAtSym1 k k) 
SuppressUnusedWarnings (k -> TyFun [k] [k] -> *) (GenericDropSym1 k k) 
SuppressUnusedWarnings (k -> TyFun [(,) k k] (Maybe k) -> *) (LookupSym1 k k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun k (TyFun [k] k -> *) -> *) -> *) (FoldrSym0 k k) 
SuppressUnusedWarnings (TyFun (TyFun k k -> *) (TyFun [k] [k] -> *) -> *) (MapSym0 k k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun k (TyFun [k] k -> *) -> *) -> *) (FoldlSym0 k k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun k (TyFun [k] k -> *) -> *) -> *) (Foldl'Sym0 k k) 
SuppressUnusedWarnings (TyFun (TyFun k [k] -> *) (TyFun [k] [k] -> *) -> *) (ConcatMapSym0 k k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun k (TyFun [k] [k] -> *) -> *) -> *) (ScanlSym0 k k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun k (TyFun [k] [k] -> *) -> *) -> *) (ScanrSym0 k k) 
SuppressUnusedWarnings (TyFun (TyFun k (Maybe ((,) k k)) -> *) (TyFun k [k] -> *) -> *) (UnfoldrSym0 k k) 
SuppressUnusedWarnings (TyFun (TyFun k (Maybe k) -> *) (TyFun [k] [k] -> *) -> *) (MapMaybeSym0 k k) 
SuppressUnusedWarnings (TyFun [Either k k] [k] -> *) (LeftsSym0 k k) 
SuppressUnusedWarnings (TyFun [Either k k] [k] -> *) (RightsSym0 k k) 
SuppressUnusedWarnings (TyFun [(,) k k] ((,) [k] [k]) -> *) (UnzipSym0 k k) 
SuppressUnusedWarnings (TyFun [k] (TyFun [k] [(,) k k] -> *) -> *) (ZipSym0 k k) 
SuppressUnusedWarnings (TyFun [k] k -> *) (GenericLengthSym0 k k) 
SuppressUnusedWarnings (TyFun [k] (TyFun k k -> *) -> *) (GenericIndexSym0 k k) 
SuppressUnusedWarnings (TyFun (Either k k) Bool -> *) (IsLeftSym0 k k) 
SuppressUnusedWarnings (TyFun (Either k k) Bool -> *) (IsRightSym0 k k) 
SuppressUnusedWarnings (TyFun ((,) k k) k -> *) (FstSym0 k k) 
SuppressUnusedWarnings (TyFun ((,) k k) k -> *) (SndSym0 k k) 
SuppressUnusedWarnings (TyFun ((,) k k) ((,) k k) -> *) (SwapSym0 k k) 
SuppressUnusedWarnings (TyFun k (TyFun k ((,) k k) -> *) -> *) (Tuple2Sym0 k k) 
SuppressUnusedWarnings (TyFun k (Either k k) -> *) (RightSym0 k k) 
SuppressUnusedWarnings (TyFun k (Either k k) -> *) (LeftSym0 k k) 
SuppressUnusedWarnings (TyFun k (TyFun k k -> *) -> *) (ConstSym0 k k) 
SuppressUnusedWarnings (TyFun k (TyFun k k -> *) -> *) (SeqSym0 k k) 
SuppressUnusedWarnings (TyFun k (TyFun (TyFun k k -> *) (TyFun (Maybe k) k -> *) -> *) -> *) (Maybe_Sym0 k k) 
SuppressUnusedWarnings (TyFun k (TyFun k [k] -> *) -> *) (GenericReplicateSym0 k k) 
SuppressUnusedWarnings (TyFun k (TyFun [k] [k] -> *) -> *) (GenericTakeSym0 k k) 
SuppressUnusedWarnings (TyFun k (TyFun [k] ((,) [k] [k]) -> *) -> *) (GenericSplitAtSym0 k k) 
SuppressUnusedWarnings (TyFun k (TyFun [k] [k] -> *) -> *) (GenericDropSym0 k k) 
SuppressUnusedWarnings (TyFun k (TyFun [(,) k k] (Maybe k) -> *) -> *) (LookupSym0 k k) 
SuppressUnusedWarnings ((TyFun ((,) k k) k -> *) -> TyFun k (TyFun k k -> *) -> *) (CurrySym1 k k k) 
SuppressUnusedWarnings ((TyFun ((,) k k) k -> *) -> k -> TyFun k k -> *) (CurrySym2 k k k) 
SuppressUnusedWarnings ((TyFun k k -> *) -> TyFun (TyFun k k -> *) (TyFun k k -> *) -> *) ((:.$$) k k k) 
SuppressUnusedWarnings ((TyFun k k -> *) -> (TyFun k k -> *) -> TyFun k k -> *) ((:.$$$) k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun k (TyFun k k -> *) -> *) (FlipSym1 k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> k -> TyFun k k -> *) (FlipSym2 k k k) 
SuppressUnusedWarnings ((TyFun k k -> *) -> TyFun (TyFun k k -> *) (TyFun (Either k k) k -> *) -> *) (Either_Sym1 k k k) 
SuppressUnusedWarnings ((TyFun k k -> *) -> (TyFun k k -> *) -> TyFun (Either k k) k -> *) (Either_Sym2 k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun ((,) k k) k -> *) (UncurrySym1 k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k ((,) k k) -> *) -> *) -> TyFun k (TyFun [k] ((,) k [k]) -> *) -> *) (MapAccumLSym1 k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k ((,) k k) -> *) -> *) -> k -> TyFun [k] ((,) k [k]) -> *) (MapAccumLSym2 k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k ((,) k k) -> *) -> *) -> TyFun k (TyFun [k] ((,) k [k]) -> *) -> *) (MapAccumRSym1 k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k ((,) k k) -> *) -> *) -> k -> TyFun [k] ((,) k [k]) -> *) (MapAccumRSym2 k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun [k] (TyFun [k] [k] -> *) -> *) (ZipWithSym1 k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> [k] -> TyFun [k] [k] -> *) (ZipWithSym2 k k k) 
SuppressUnusedWarnings ([k] -> TyFun [k] (TyFun [k] [(,,) k k k] -> *) -> *) (Zip3Sym1 k k k) 
SuppressUnusedWarnings ([k] -> [k] -> TyFun [k] [(,,) k k k] -> *) (Zip3Sym2 k k k) 
SuppressUnusedWarnings (k -> TyFun k (TyFun k ((,,) k k k) -> *) -> *) (Tuple3Sym1 k k k) 
SuppressUnusedWarnings (k -> k -> TyFun k ((,,) k k k) -> *) (Tuple3Sym2 k k k) 
SuppressUnusedWarnings (TyFun (TyFun ((,) k k) k -> *) (TyFun k (TyFun k k -> *) -> *) -> *) (CurrySym0 k k k) 
SuppressUnusedWarnings (TyFun (TyFun k k -> *) (TyFun (TyFun k k -> *) (TyFun k k -> *) -> *) -> *) ((:.$) k k k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun k (TyFun k k -> *) -> *) -> *) (FlipSym0 k k k) 
SuppressUnusedWarnings (TyFun (TyFun k k -> *) (TyFun (TyFun k k -> *) (TyFun (Either k k) k -> *) -> *) -> *) (Either_Sym0 k k k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun ((,) k k) k -> *) -> *) (UncurrySym0 k k k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k ((,) k k) -> *) -> *) (TyFun k (TyFun [k] ((,) k [k]) -> *) -> *) -> *) (MapAccumLSym0 k k k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k ((,) k k) -> *) -> *) (TyFun k (TyFun [k] ((,) k [k]) -> *) -> *) -> *) (MapAccumRSym0 k k k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) (ZipWithSym0 k k k) 
SuppressUnusedWarnings (TyFun [(,,) k k k] ((,,) [k] [k] [k]) -> *) (Unzip3Sym0 k k k) 
SuppressUnusedWarnings (TyFun [k] (TyFun [k] (TyFun [k] [(,,) k k k] -> *) -> *) -> *) (Zip3Sym0 k k k) 
SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k ((,,) k k k) -> *) -> *) -> *) (Tuple3Sym0 k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> TyFun [k] (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) (ZipWith3Sym1 k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> [k] -> TyFun [k] (TyFun [k] [k] -> *) -> *) (ZipWith3Sym2 k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> [k] -> [k] -> TyFun [k] [k] -> *) (ZipWith3Sym3 k k k k) 
SuppressUnusedWarnings ([k] -> TyFun [k] (TyFun [k] (TyFun [k] [(,,,) k k k k] -> *) -> *) -> *) (Zip4Sym1 k k k k) 
SuppressUnusedWarnings ([k] -> [k] -> TyFun [k] (TyFun [k] [(,,,) k k k k] -> *) -> *) (Zip4Sym2 k k k k) 
SuppressUnusedWarnings ([k] -> [k] -> [k] -> TyFun [k] [(,,,) k k k k] -> *) (Zip4Sym3 k k k k) 
SuppressUnusedWarnings (k -> TyFun k (TyFun k (TyFun k ((,,,) k k k k) -> *) -> *) -> *) (Tuple4Sym1 k k k k) 
SuppressUnusedWarnings (k -> k -> TyFun k (TyFun k ((,,,) k k k k) -> *) -> *) (Tuple4Sym2 k k k k) 
SuppressUnusedWarnings (k -> k -> k -> TyFun k ((,,,) k k k k) -> *) (Tuple4Sym3 k k k k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) (TyFun [k] (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) -> *) (ZipWith3Sym0 k k k k) 
SuppressUnusedWarnings (TyFun [(,,,) k k k k] ((,,,) [k] [k] [k] [k]) -> *) (Unzip4Sym0 k k k k) 
SuppressUnusedWarnings (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [(,,,) k k k k] -> *) -> *) -> *) -> *) (Zip4Sym0 k k k k) 
SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k (TyFun k ((,,,) k k k k) -> *) -> *) -> *) -> *) (Tuple4Sym0 k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) -> *) (ZipWith4Sym1 k k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> [k] -> TyFun [k] (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) (ZipWith4Sym2 k k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> [k] -> [k] -> TyFun [k] (TyFun [k] [k] -> *) -> *) (ZipWith4Sym3 k k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> [k] -> [k] -> [k] -> TyFun [k] [k] -> *) (ZipWith4Sym4 k k k k k) 
SuppressUnusedWarnings ([k] -> TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [(,,,,) k k k k k] -> *) -> *) -> *) -> *) (Zip5Sym1 k k k k k) 
SuppressUnusedWarnings ([k] -> [k] -> TyFun [k] (TyFun [k] (TyFun [k] [(,,,,) k k k k k] -> *) -> *) -> *) (Zip5Sym2 k k k k k) 
SuppressUnusedWarnings ([k] -> [k] -> [k] -> TyFun [k] (TyFun [k] [(,,,,) k k k k k] -> *) -> *) (Zip5Sym3 k k k k k) 
SuppressUnusedWarnings ([k] -> [k] -> [k] -> [k] -> TyFun [k] [(,,,,) k k k k k] -> *) (Zip5Sym4 k k k k k) 
SuppressUnusedWarnings (k -> TyFun k (TyFun k (TyFun k (TyFun k ((,,,,) k k k k k) -> *) -> *) -> *) -> *) (Tuple5Sym1 k k k k k) 
SuppressUnusedWarnings (k -> k -> TyFun k (TyFun k (TyFun k ((,,,,) k k k k k) -> *) -> *) -> *) (Tuple5Sym2 k k k k k) 
SuppressUnusedWarnings (k -> k -> k -> TyFun k (TyFun k ((,,,,) k k k k k) -> *) -> *) (Tuple5Sym3 k k k k k) 
SuppressUnusedWarnings (k -> k -> k -> k -> TyFun k ((,,,,) k k k k k) -> *) (Tuple5Sym4 k k k k k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) -> *) -> *) (ZipWith4Sym0 k k k k k) 
SuppressUnusedWarnings (TyFun [(,,,,) k k k k k] ((,,,,) [k] [k] [k] [k] [k]) -> *) (Unzip5Sym0 k k k k k) 
SuppressUnusedWarnings (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [(,,,,) k k k k k] -> *) -> *) -> *) -> *) -> *) (Zip5Sym0 k k k k k) 
SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,) k k k k k) -> *) -> *) -> *) -> *) -> *) (Tuple5Sym0 k k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> *) -> TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) -> *) -> *) (ZipWith5Sym1 k k k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> *) -> [k] -> TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) -> *) (ZipWith5Sym2 k k k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> *) -> [k] -> [k] -> TyFun [k] (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) (ZipWith5Sym3 k k k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> *) -> [k] -> [k] -> [k] -> TyFun [k] (TyFun [k] [k] -> *) -> *) (ZipWith5Sym4 k k k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> *) -> [k] -> [k] -> [k] -> [k] -> TyFun [k] [k] -> *) (ZipWith5Sym5 k k k k k k) 
SuppressUnusedWarnings ([k] -> TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [(,,,,,) k k k k k k] -> *) -> *) -> *) -> *) -> *) (Zip6Sym1 k k k k k k) 
SuppressUnusedWarnings ([k] -> [k] -> TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [(,,,,,) k k k k k k] -> *) -> *) -> *) -> *) (Zip6Sym2 k k k k k k) 
SuppressUnusedWarnings ([k] -> [k] -> [k] -> TyFun [k] (TyFun [k] (TyFun [k] [(,,,,,) k k k k k k] -> *) -> *) -> *) (Zip6Sym3 k k k k k k) 
SuppressUnusedWarnings ([k] -> [k] -> [k] -> [k] -> TyFun [k] (TyFun [k] [(,,,,,) k k k k k k] -> *) -> *) (Zip6Sym4 k k k k k k) 
SuppressUnusedWarnings ([k] -> [k] -> [k] -> [k] -> [k] -> TyFun [k] [(,,,,,) k k k k k k] -> *) (Zip6Sym5 k k k k k k) 
SuppressUnusedWarnings (k -> TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,) k k k k k k) -> *) -> *) -> *) -> *) -> *) (Tuple6Sym1 k k k k k k) 
SuppressUnusedWarnings (k -> k -> TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,) k k k k k k) -> *) -> *) -> *) -> *) (Tuple6Sym2 k k k k k k) 
SuppressUnusedWarnings (k -> k -> k -> TyFun k (TyFun k (TyFun k ((,,,,,) k k k k k k) -> *) -> *) -> *) (Tuple6Sym3 k k k k k k) 
SuppressUnusedWarnings (k -> k -> k -> k -> TyFun k (TyFun k ((,,,,,) k k k k k k) -> *) -> *) (Tuple6Sym4 k k k k k k) 
SuppressUnusedWarnings (k -> k -> k -> k -> k -> TyFun k ((,,,,,) k k k k k k) -> *) (Tuple6Sym5 k k k k k k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> *) (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) -> *) -> *) -> *) (ZipWith5Sym0 k k k k k k) 
SuppressUnusedWarnings (TyFun [(,,,,,) k k k k k k] ((,,,,,) [k] [k] [k] [k] [k] [k]) -> *) (Unzip6Sym0 k k k k k k) 
SuppressUnusedWarnings (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [(,,,,,) k k k k k k] -> *) -> *) -> *) -> *) -> *) -> *) (Zip6Sym0 k k k k k k) 
SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,) k k k k k k) -> *) -> *) -> *) -> *) -> *) -> *) (Tuple6Sym0 k k k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> *) -> *) -> TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) -> *) -> *) -> *) (ZipWith6Sym1 k k k k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> *) -> *) -> [k] -> TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) -> *) -> *) (ZipWith6Sym2 k k k k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> *) -> *) -> [k] -> [k] -> TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) -> *) (ZipWith6Sym3 k k k k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> *) -> *) -> [k] -> [k] -> [k] -> TyFun [k] (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) (ZipWith6Sym4 k k k k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> *) -> *) -> [k] -> [k] -> [k] -> [k] -> TyFun [k] (TyFun [k] [k] -> *) -> *) (ZipWith6Sym5 k k k k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> *) -> *) -> [k] -> [k] -> [k] -> [k] -> [k] -> TyFun [k] [k] -> *) (ZipWith6Sym6 k k k k k k k) 
SuppressUnusedWarnings ([k] -> TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [(,,,,,,) k k k k k k k] -> *) -> *) -> *) -> *) -> *) -> *) (Zip7Sym1 k k k k k k k) 
SuppressUnusedWarnings ([k] -> [k] -> TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [(,,,,,,) k k k k k k k] -> *) -> *) -> *) -> *) -> *) (Zip7Sym2 k k k k k k k) 
SuppressUnusedWarnings ([k] -> [k] -> [k] -> TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [(,,,,,,) k k k k k k k] -> *) -> *) -> *) -> *) (Zip7Sym3 k k k k k k k) 
SuppressUnusedWarnings ([k] -> [k] -> [k] -> [k] -> TyFun [k] (TyFun [k] (TyFun [k] [(,,,,,,) k k k k k k k] -> *) -> *) -> *) (Zip7Sym4 k k k k k k k) 
SuppressUnusedWarnings ([k] -> [k] -> [k] -> [k] -> [k] -> TyFun [k] (TyFun [k] [(,,,,,,) k k k k k k k] -> *) -> *) (Zip7Sym5 k k k k k k k) 
SuppressUnusedWarnings ([k] -> [k] -> [k] -> [k] -> [k] -> [k] -> TyFun [k] [(,,,,,,) k k k k k k k] -> *) (Zip7Sym6 k k k k k k k) 
SuppressUnusedWarnings (k -> TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) -> *) -> *) -> *) -> *) (Tuple7Sym1 k k k k k k k) 
SuppressUnusedWarnings (k -> k -> TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) -> *) -> *) -> *) (Tuple7Sym2 k k k k k k k) 
SuppressUnusedWarnings (k -> k -> k -> TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) -> *) -> *) (Tuple7Sym3 k k k k k k k) 
SuppressUnusedWarnings (k -> k -> k -> k -> TyFun k (TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) -> *) (Tuple7Sym4 k k k k k k k) 
SuppressUnusedWarnings (k -> k -> k -> k -> k -> TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) (Tuple7Sym5 k k k k k k k) 
SuppressUnusedWarnings (k -> k -> k -> k -> k -> k -> TyFun k ((,,,,,,) k k k k k k k) -> *) (Tuple7Sym6 k k k k k k k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> *) -> *) (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) -> *) -> *) -> *) -> *) (ZipWith6Sym0 k k k k k k k) 
SuppressUnusedWarnings (TyFun [(,,,,,,) k k k k k k k] ((,,,,,,) [k] [k] [k] [k] [k] [k] [k]) -> *) (Unzip7Sym0 k k k k k k k) 
SuppressUnusedWarnings (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [(,,,,,,) k k k k k k k] -> *) -> *) -> *) -> *) -> *) -> *) -> *) (Zip7Sym0 k k k k k k k) 
SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) -> *) -> *) -> *) -> *) -> *) (Tuple7Sym0 k k k k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> *) -> *) -> *) -> TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) -> *) -> *) -> *) -> *) (ZipWith7Sym1 k k k k k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> *) -> *) -> *) -> [k] -> TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) -> *) -> *) -> *) (ZipWith7Sym2 k k k k k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> *) -> *) -> *) -> [k] -> [k] -> TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) -> *) -> *) (ZipWith7Sym3 k k k k k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> *) -> *) -> *) -> [k] -> [k] -> [k] -> TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) -> *) (ZipWith7Sym4 k k k k k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> *) -> *) -> *) -> [k] -> [k] -> [k] -> [k] -> TyFun [k] (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) (ZipWith7Sym5 k k k k k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> *) -> *) -> *) -> [k] -> [k] -> [k] -> [k] -> [k] -> TyFun [k] (TyFun [k] [k] -> *) -> *) (ZipWith7Sym6 k k k k k k k k) 
SuppressUnusedWarnings ((TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> *) -> *) -> *) -> [k] -> [k] -> [k] -> [k] -> [k] -> [k] -> TyFun [k] [k] -> *) (ZipWith7Sym7 k k k k k k k k) 
SuppressUnusedWarnings (TyFun (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k k -> *) -> *) -> *) -> *) -> *) -> *) -> *) (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] (TyFun [k] [k] -> *) -> *) -> *) -> *) -> *) -> *) -> *) -> *) (ZipWith7Sym0 k k k k k k k k)