úÎ"= ã   NoneTurns  ! into an expression representing  , and    x! into an expression representing   applied to the  expression in x. A useful variant of   that returns   instead of B halting compilation when an error occurs (e.g. because the given  name was not in scope). Turns a possibly-failing  action into one returning a   value. Returns   ( n)' if the info relates to a value called  n, or  - if it relates to a different sort of thing. NoneNone2Produces a spliceable expression which expands to   val if $ the given string refers to a value val in scope, or    otherwise. scopeLookup =   . DFinds the first string in the list that names a value, and produces F a spliceable expression of that value, or reports a compile error if  it fails.  Produces   x% if the given string names the value x,  or   otherwise. NoneAAn empty type used only to signify a multiparameter typeclass in   . Given (forall ts. Cxt => t) , return (Cxt, [t]).  Given (forall ts. Cxt =>  (t1, t2, t3)) , return  (Cxt, [t1, t2, t3]). This is used in  % to allow types to be specified more  easily with TH typequotes. /A helper function to unwind type application.  Given TyCon t1 t2 t3 , returns (TyCon, [t1,t2,t3]) %Left inverse to unrollAppT, equal to     className cxt types methods produces an instance , of the given class if and only if one doesn't already exist. See  # for a simple way to construct the  and  [] parameters.  ! is a more convenient version of   ( that takes the context and type from a   with the intention ) that it be supplied using a type-quote. To define an instance Show a => Show (Wrapper a), you'd use:  0 safeInstance ''Show [t| Show a => Wrapper a |]  [d| show _ = "stuff" |] ;To define an instance of a multi-param type class, use the   type constructor with a tuple:  safeInstance ''MonadState 6 [t| MonadState s m => MultiParams (s, MaybeT m) |]  [d| put = ... |]           !"#$%notcpp-0.2.0.1NotCPP.LookupValueNameNotCPP.ScopeLookupNotCPP.OrphanEvasion NotCPP.Utilstemplate-haskellLanguage.Haskell.TH.SyntaxlookupValueName liftMaybe maybeReify recoverMaybe infoToExp scopeLookup scopeLookups scopeLookup' MultiParams safeInstance' safeInstancebase Data.MaybeNothingJustreifyQMaybeVarEbestValueGuessGHC.Basefmap fromTuple unrollAppTrollAppTGHC.ListfoldlAppTCxtType