úΔX     (C) 2017 Ryan Scott BSD-style (see the file LICENSE) Ryan Scott ExperimentalGHCUnsafeø dataName> generates a top-level elimination function for the datatype dataNameS. The eliminator will follow these naming conventions: The naming conventions are:UIf the datatype has an alphanumeric name, its eliminator will have that name with elim prepended.PIf the datatype has a symbolic name, its eliminator will have that name with ~> prepended. funName dataName3 generates a top-level elimination function named funName for the datatype dataName.Construct a type of the form  x given x.Construct a type of the form p '' ty given p and ty.KGenerate a list of fresh names with a common prefix, and numbered suffixes.LDecompose an applied type into its individual components. For example, this: Either Int Char would be unfolded to this: Either :| [Int, Char] (C) 2017 Ryan Scott BSD-style (see the file LICENSE) Ryan Scott ExperimentalGHC Trustworthy&'+,-CFQSTVhâ Although a is not actually an inductive data type in GHC, we can pretend that it is using this eliminator.       &eliminators-0.2-48hI95eYjZx1I76ke3BennData.Eliminator.THData.Eliminator deriveElimderiveElimNamedelimBool elimEither elimMaybe elimNonEmpty elimOrderingelimList elimTuple0 elimTuple2 elimTuple3 elimTuple4 elimTuple5 elimTuple6 elimTuple7elimNatsingType%singletons-2.3-C4sOQ5kyjGYAHQogLBJu9WData.SingletonsSingpredType newNameList unfoldTypeghc-prim GHC.TypesNat