úÎÀv     (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&'+,-CFQSTVh6  (C) 2017 Ryan Scott BSD-style (see the file LICENSE) Ryan Scott ExperimentalGHC Trustworthy ,-FQSTVhh Although k is not actually an inductive data type in GHC, we can (crudely) pretend that it is using this eliminator.      &eliminators-0.3-DAVMZWvuW631lcIX6Z3F4yData.Eliminator.THData.EliminatorData.Eliminator.TypeNats deriveElimderiveElimNamedelimBool elimEither elimMaybeelimNat elimNonEmpty elimOrderingelimList elimTuple0 elimTuple2 elimTuple3 elimTuple4 elimTuple5 elimTuple6 elimTuple7singType'singletons-2.3.1-Bkr9pnaoGRj6iBMhoRhXYLData.SingletonsSingpredType newNameList unfoldTypeghc-prim GHC.TypesNat