úÎ!Í s   NoneTurns  ! into an expression representing  , and   x! into an expression representing   applied to the expression in x.A useful variant of   that returns  f instead of 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 =   . ”Finds the first string in the list that names a value, and produces 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.None<BAn 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.6A 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 methodsS 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: HsafeInstance ''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: asafeInstance ''MonadState [t| MonadState s m => MultiParams (s, MaybeT m) |] [d| put = ... |]          !"#$%notcpp-0.2.0.3NotCPP.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