XE{      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzsee LANGUAGE pragmas (... GHC) experimentalnicolas.frisby@gmail.comA TemplateHaskell-lifter for {s. 'Returns the kinds of a type constructor's type paratemers and range. see LANGUAGE pragmas (... GHC) experimentalnicolas.frisby@gmail.comBThe set of kinds that this library will initially support as type  parameters. KThe default number of parameters that this library will initially support. The kinds consequent from parameterKinds and  maxParameters. [qK|...|]> is either the declaration of a type that takes one parameter L of the corresponding kind, or an occurrence of that type constructor. (The & name is an encoding of that parameter'$s kind based on prefix notation for  application.) generateK pks n generates all |s with 0 to n parameters taken  from pks. DCalls its argument once for each parameter and kind pair implied by   maxParameters and parameterKinds. }~qTypeName: represents an occurrence of totally unapplied type name.  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvkNameG k* returns the globally unique name (i.e. TH's NameG ) of the $ declared wrapper for types of kind k. wkTypeG = conT <=< kNameG. x spineType n generates the Spine instance for the type named n. q  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxq utsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!  vwxq  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxsee LANGUAGE pragmas (... GHC) experimentalnicolas.frisby@gmail.comyA type-level application. z[qK|...|]= is the a type that takes one parameter of the corresponding 1 kind. (The name is an encoding of that parameter's kind based on prefix  notation for application.)  xyzz yxyz      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ type-spine-0.1 Type.Spine.THType.Spine.KindsType.Spine.Stage0 Type.Spine liftNameGtyConSignaturetvb_kindparameterKindsparseK_parseKqK forallAppsKTypeNameSpine KTTSTSSTTSTSSTTSTSSTTSTSSTTSTSSSKTTSSTTSTSSTTSTSSTTSTSSTTSTSSSKTSTTSTSSTTSTSSTTSTSSTTSTSSSKTTSTSSTTSSTTSTSSTTSTSSTTSTSSSKTTSSTTSSTTSTSSTTSTSSTTSTSSSKTSTTSSTTSTSSTTSTSSTTSTSSSKTTSTSSTSTTSTSSTTSTSSTTSTSSSKTTSSTSTTSTSSTTSTSSTTSTSSSKTSTSTTSTSSTTSTSSTTSTSSSKTTSTSSTTSTSSTTSSTTSTSSTTSTSSSKTTSSTTSTSSTTSSTTSTSSTTSTSSSKTSTTSTSSTTSSTTSTSSTTSTSSSKTTSTSSTTSSTTSSTTSTSSTTSTSSSKTTSSTTSSTTSSTTSTSSTTSTSSSKTSTTSSTTSSTTSTSSTTSTSSSKTTSTSSTSTTSSTTSTSSTTSTSSSKTTSSTSTTSSTTSTSSTTSTSSSKTSTSTTSSTTSTSSTTSTSSSKTTSTSSTTSTSSTSTTSTSSTTSTSSSKTTSSTTSTSSTSTTSTSSTTSTSSSKTSTTSTSSTSTTSTSSTTSTSSSKTTSTSSTTSSTSTTSTSSTTSTSSSKTTSSTTSSTSTTSTSSTTSTSSSKTSTTSSTSTTSTSSTTSTSSSKTTSTSSTSTSTTSTSSTTSTSSSKTTSSTSTSTTSTSSTTSTSSSKTSTSTSTTSTSSTTSTSSSKTTSTSSTTSTSSTTSTSSTTSSTTSTSSSKTTSSTTSTSSTTSTSSTTSSTTSTSSSKTSTTSTSSTTSTSSTTSSTTSTSSSKTTSTSSTTSSTTSTSSTTSSTTSTSSSKTTSSTTSSTTSTSSTTSSTTSTSSSKTSTTSSTTSTSSTTSSTTSTSSSKTTSTSSTSTTSTSSTTSSTTSTSSSKTTSSTSTTSTSSTTSSTTSTSSSKTSTSTTSTSSTTSSTTSTSSSKTTSTSSTTSTSSTTSSTTSSTTSTSSSKTTSSTTSTSSTTSSTTSSTTSTSSSKTSTTSTSSTTSSTTSSTTSTSSSKTTSTSSTTSSTTSSTTSSTTSTSSSKTTSSTTSSTTSSTTSSTTSTSSSKTSTTSSTTSSTTSSTTSTSSSKTTSTSSTSTTSSTTSSTTSTSSSKTTSSTSTTSSTTSSTTSTSSSKTSTSTTSSTTSSTTSTSSSKTTSTSSTTSTSSTSTTSSTTSTSSSKTTSSTTSTSSTSTTSSTTSTSSSKTSTTSTSSTSTTSSTTSTSSSKTTSTSSTTSSTSTTSSTTSTSSSKTTSSTTSSTSTTSSTTSTSSSKTSTTSSTSTTSSTTSTSSSKTTSTSSTSTSTTSSTTSTSSSKTTSSTSTSTTSSTTSTSSSKTSTSTSTTSSTTSTSSSKTTSTSSTTSTSSTTSTSSTSTTSTSSSKTTSSTTSTSSTTSTSSTSTTSTSSSKTSTTSTSSTTSTSSTSTTSTSSSKTTSTSSTTSSTTSTSSTSTTSTSSSKTTSSTTSSTTSTSSTSTTSTSSSKTSTTSSTTSTSSTSTTSTSSSKTTSTSSTSTTSTSSTSTTSTSSSKTTSSTSTTSTSSTSTTSTSSSKTSTSTTSTSSTSTTSTSSSKTTSTSSTTSTSSTTSSTSTTSTSSSKTTSSTTSTSSTTSSTSTTSTSSSKTSTTSTSSTTSSTSTTSTSSSKTTSTSSTTSSTTSSTSTTSTSSSKTTSSTTSSTTSSTSTTSTSSSKTSTTSSTTSSTSTTSTSSSKTTSTSSTSTTSSTSTTSTSSSKTTSSTSTTSSTSTTSTSSSKTSTSTTSSTSTTSTSSSKTTSTSSTTSTSSTSTSTTSTSSSKTTSSTTSTSSTSTSTTSTSSSKTSTTSTSSTSTSTTSTSSSKTTSTSSTTSSTSTSTTSTSSSKTTSSTTSSTSTSTTSTSSSKTSTTSSTSTSTTSTSSSKTTSTSSTSTSTSTTSTSSSKTTSSTSTSTSTTSTSSSKTSTSTSTSTTSTSSSKTTSTSSTTSTSSTTSTSSTTSTSSTTSSSKTTSSTTSTSSTTSTSSTTSTSSTTSSSKTSTTSTSSTTSTSSTTSTSSTTSSSKTTSTSSTTSSTTSTSSTTSTSSTTSSSKTTSSTTSSTTSTSSTTSTSSTTSSSKTSTTSSTTSTSSTTSTSSTTSSSKTTSTSSTSTTSTSSTTSTSSTTSSSKTTSSTSTTSTSSTTSTSSTTSSSKTSTSTTSTSSTTSTSSTTSSSKTTSTSSTTSTSSTTSSTTSTSSTTSSSKTTSSTTSTSSTTSSTTSTSSTTSSSKTSTTSTSSTTSSTTSTSSTTSSSKTTSTSSTTSSTTSSTTSTSSTTSSSKTTSSTTSSTTSSTTSTSSTTSSSKTSTTSSTTSSTTSTSSTTSSSKTTSTSSTSTTSSTTSTSSTTSSSKTTSSTSTTSSTTSTSSTTSSSKTSTSTTSSTTSTSSTTSSSKTTSTSSTTSTSSTSTTSTSSTTSSSKTTSSTTSTSSTSTTSTSSTTSSSKTSTTSTSSTSTTSTSSTTSSSKTTSTSSTTSSTSTTSTSSTTSSSKTTSSTTSSTSTTSTSSTTSSSKTSTTSSTSTTSTSSTTSSSKTTSTSSTSTSTTSTSSTTSSSKTTSSTSTSTTSTSSTTSSSKTSTSTSTTSTSSTTSSSKTTSTSSTTSTSSTTSTSSTTSSTTSSSKTTSSTTSTSSTTSTSSTTSSTTSSSKTSTTSTSSTTSTSSTTSSTTSSSKTTSTSSTTSSTTSTSSTTSSTTSSSKTTSSTTSSTTSTSSTTSSTTSSSKTSTTSSTTSTSSTTSSTTSSSKTTSTSSTSTTSTSSTTSSTTSSSKTTSSTSTTSTSSTTSSTTSSSKTSTSTTSTSSTTSSTTSSSKTTSTSSTTSTSSTTSSTTSSTTSSSKTTSSTTSTSSTTSSTTSSTTSSSKTSTTSTSSTTSSTTSSTTSSSKTTSTSSTTSSTTSSTTSSTTSSSKTTSSTTSSTTSSTTSSTTSSSKTSTTSSTTSSTTSSTTSSSKTTSTSSTSTTSSTTSSTTSSSKTTSSTSTTSSTTSSTTSSSKTSTSTTSSTTSSTTSSSKTTSTSSTTSTSSTSTTSSTTSSSKTTSSTTSTSSTSTTSSTTSSSKTSTTSTSSTSTTSSTTSSSKTTSTSSTTSSTSTTSSTTSSSKTTSSTTSSTSTTSSTTSSSKTSTTSSTSTTSSTTSSSKTTSTSSTSTSTTSSTTSSSKTTSSTSTSTTSSTTSSSKTSTSTSTTSSTTSSSKTTSTSSTTSTSSTTSTSSTSTTSSSKTTSSTTSTSSTTSTSSTSTTSSSKTSTTSTSSTTSTSSTSTTSSSKTTSTSSTTSSTTSTSSTSTTSSSKTTSSTTSSTTSTSSTSTTSSSKTSTTSSTTSTSSTSTTSSSKTTSTSSTSTTSTSSTSTTSSSKTTSSTSTTSTSSTSTTSSSKTSTSTTSTSSTSTTSSSKTTSTSSTTSTSSTTSSTSTTSSSKTTSSTTSTSSTTSSTSTTSSSKTSTTSTSSTTSSTSTTSSSKTTSTSSTTSSTTSSTSTTSSSKTTSSTTSSTTSSTSTTSSSKTSTTSSTTSSTSTTSSSKTTSTSSTSTTSSTSTTSSSKTTSSTSTTSSTSTTSSSKTSTSTTSSTSTTSSSKTTSTSSTTSTSSTSTSTTSSSKTTSSTTSTSSTSTSTTSSSKTSTTSTSSTSTSTTSSSKTTSTSSTTSSTSTSTTSSSKTTSSTTSSTSTSTTSSSKTSTTSSTSTSTTSSSKTTSTSSTSTSTSTTSSSKTTSSTSTSTSTTSSSKTSTSTSTSTTSSSKTTSTSSTTSTSSTTSTSSTTSTSSTSSKTTSSTTSTSSTTSTSSTTSTSSTSSKTSTTSTSSTTSTSSTTSTSSTSSKTTSTSSTTSSTTSTSSTTSTSSTSSKTTSSTTSSTTSTSSTTSTSSTSSKTSTTSSTTSTSSTTSTSSTSSKTTSTSSTSTTSTSSTTSTSSTSSKTTSSTSTTSTSSTTSTSSTSSKTSTSTTSTSSTTSTSSTSSKTTSTSSTTSTSSTTSSTTSTSSTSSKTTSSTTSTSSTTSSTTSTSSTSSKTSTTSTSSTTSSTTSTSSTSSKTTSTSSTTSSTTSSTTSTSSTSSKTTSSTTSSTTSSTTSTSSTSSKTSTTSSTTSSTTSTSSTSSKTTSTSSTSTTSSTTSTSSTSSKTTSSTSTTSSTTSTSSTSSKTSTSTTSSTTSTSSTSSKTTSTSSTTSTSSTSTTSTSSTSSKTTSSTTSTSSTSTTSTSSTSSKTSTTSTSSTSTTSTSSTSSKTTSTSSTTSSTSTTSTSSTSSKTTSSTTSSTSTTSTSSTSSKTSTTSSTSTTSTSSTSSKTTSTSSTSTSTTSTSSTSSKTTSSTSTSTTSTSSTSSKTSTSTSTTSTSSTSSKTTSTSSTTSTSSTTSTSSTTSSTSSKTTSSTTSTSSTTSTSSTTSSTSSKTSTTSTSSTTSTSSTTSSTSSKTTSTSSTTSSTTSTSSTTSSTSSKTTSSTTSSTTSTSSTTSSTSSKTSTTSSTTSTSSTTSSTSSKTTSTSSTSTTSTSSTTSSTSSKTTSSTSTTSTSSTTSSTSSKTSTSTTSTSSTTSSTSSKTTSTSSTTSTSSTTSSTTSSTSSKTTSSTTSTSSTTSSTTSSTSSKTSTTSTSSTTSSTTSSTSSKTTSTSSTTSSTTSSTTSSTSSKTTSSTTSSTTSSTTSSTSSKTSTTSSTTSSTTSSTSSKTTSTSSTSTTSSTTSSTSSKTTSSTSTTSSTTSSTSSKTSTSTTSSTTSSTSSKTTSTSSTTSTSSTSTTSSTSSKTTSSTTSTSSTSTTSSTSSKTSTTSTSSTSTTSSTSSKTTSTSSTTSSTSTTSSTSSKTTSSTTSSTSTTSSTSSKTSTTSSTSTTSSTSSKTTSTSSTSTSTTSSTSSKTTSSTSTSTTSSTSSKTSTSTSTTSSTSSKTTSTSSTTSTSSTTSTSSTSTSSKTTSSTTSTSSTTSTSSTSTSSKTSTTSTSSTTSTSSTSTSSKTTSTSSTTSSTTSTSSTSTSSKTTSSTTSSTTSTSSTSTSSKTSTTSSTTSTSSTSTSSKTTSTSSTSTTSTSSTSTSSKTTSSTSTTSTSSTSTSSKTSTSTTSTSSTSTSSKTTSTSSTTSTSSTTSSTSTSSKTTSSTTSTSSTTSSTSTSSKTSTTSTSSTTSSTSTSSKTTSTSSTTSSTTSSTSTSSKTTSSTTSSTTSSTSTSSKTSTTSSTTSSTSTSSKTTSTSSTSTTSSTSTSSKTTSSTSTTSSTSTSSKTSTSTTSSTSTSSKTTSTSSTTSTSSTSTSTSSKTTSSTTSTSSTSTSTSSKTSTTSTSSTSTSTSSKTTSTSSTTSSTSTSTSSKTTSSTTSSTSTSTSSKTSTTSSTSTSTSSKTTSTSSTSTSTSTSSKTTSSTSTSTSTSS KTSTSTSTSTSSKTTSTSSTTSTSSTTSTSSTTSTSSSKTTSSTTSTSSTTSTSSTTSTSSSKTSTTSTSSTTSTSSTTSTSSSKTTSTSSTTSSTTSTSSTTSTSSSKTTSSTTSSTTSTSSTTSTSSSKTSTTSSTTSTSSTTSTSSSKTTSTSSTSTTSTSSTTSTSSSKTTSSTSTTSTSSTTSTSSSKTSTSTTSTSSTTSTSSSKTTSTSSTTSTSSTTSSTTSTSSSKTTSSTTSTSSTTSSTTSTSSSKTSTTSTSSTTSSTTSTSSSKTTSTSSTTSSTTSSTTSTSSSKTTSSTTSSTTSSTTSTSSSKTSTTSSTTSSTTSTSSSKTTSTSSTSTTSSTTSTSSSKTTSSTSTTSSTTSTSSSKTSTSTTSSTTSTSSSKTTSTSSTTSTSSTSTTSTSSSKTTSSTTSTSSTSTTSTSSSKTSTTSTSSTSTTSTSSSKTTSTSSTTSSTSTTSTSSSKTTSSTTSSTSTTSTSSSKTSTTSSTSTTSTSSSKTTSTSSTSTSTTSTSSSKTTSSTSTSTTSTSSSKTSTSTSTTSTSSSKTTSTSSTTSTSSTTSTSSTTSSSKTTSSTTSTSSTTSTSSTTSSSKTSTTSTSSTTSTSSTTSSSKTTSTSSTTSSTTSTSSTTSSSKTTSSTTSSTTSTSSTTSSSKTSTTSSTTSTSSTTSSSKTTSTSSTSTTSTSSTTSSSKTTSSTSTTSTSSTTSSSKTSTSTTSTSSTTSSSKTTSTSSTTSTSSTTSSTTSSSKTTSSTTSTSSTTSSTTSSSKTSTTSTSSTTSSTTSSSKTTSTSSTTSSTTSSTTSSSKTTSSTTSSTTSSTTSSSKTSTTSSTTSSTTSSSKTTSTSSTSTTSSTTSSSKTTSSTSTTSSTTSSSKTSTSTTSSTTSSSKTTSTSSTTSTSSTSTTSSSKTTSSTTSTSSTSTTSSSKTSTTSTSSTSTTSSSKTTSTSSTTSSTSTTSSSKTTSSTTSSTSTTSSSKTSTTSSTSTTSSSKTTSTSSTSTSTTSSSKTTSSTSTSTTSSS KTSTSTSTTSSSKTTSTSSTTSTSSTTSTSSTSSKTTSSTTSTSSTTSTSSTSSKTSTTSTSSTTSTSSTSSKTTSTSSTTSSTTSTSSTSSKTTSSTTSSTTSTSSTSSKTSTTSSTTSTSSTSSKTTSTSSTSTTSTSSTSSKTTSSTSTTSTSSTSSKTSTSTTSTSSTSSKTTSTSSTTSTSSTTSSTSSKTTSSTTSTSSTTSSTSSKTSTTSTSSTTSSTSSKTTSTSSTTSSTTSSTSSKTTSSTTSSTTSSTSSKTSTTSSTTSSTSSKTTSTSSTSTTSSTSSKTTSSTSTTSSTSS KTSTSTTSSTSSKTTSTSSTTSTSSTSTSSKTTSSTTSTSSTSTSSKTSTTSTSSTSTSSKTTSTSSTTSSTSTSSKTTSSTTSSTSTSS KTSTTSSTSTSSKTTSTSSTSTSTSS KTTSSTSTSTSS KTSTSTSTSSKTTSTSSTTSTSSTTSTSSSKTTSSTTSTSSTTSTSSSKTSTTSTSSTTSTSSSKTTSTSSTTSSTTSTSSSKTTSSTTSSTTSTSSSKTSTTSSTTSTSSSKTTSTSSTSTTSTSSSKTTSSTSTTSTSSS KTSTSTTSTSSSKTTSTSSTTSTSSTTSSSKTTSSTTSTSSTTSSSKTSTTSTSSTTSSSKTTSTSSTTSSTTSSSKTTSSTTSSTTSSS KTSTTSSTTSSSKTTSTSSTSTTSSS KTTSSTSTTSSS KTSTSTTSSSKTTSTSSTTSTSSTSSKTTSSTTSTSSTSS KTSTTSTSSTSSKTTSTSSTTSSTSS KTTSSTTSSTSS KTSTTSSTSS KTTSTSSTSTSS KTTSSTSTSSKTSTSTSSKTTSTSSTTSTSSS KTTSSTTSTSSS KTSTTSTSSS KTTSTSSTTSSS KTTSSTTSSSKTSTTSSS KTTSTSSTSSKTTSSTSSKTSTSSKTTSTSSSKTTSSSKTSSKSkNameGkTypeG spineType:@template-haskellLanguage.Haskell.TH.SyntaxNameGKind maxParametersallKinds badParseKtrimstringKnameKtypeKdeclareK generateK