úÎ% Û(      !"#$%&' Safe-Inferred Safe-Inferred A  ' instance corresponding to the logical  AND connective of two  s. -Data-type used for tupling-up the results of . A  ' instance corresponding to the logical  OR connective of two  s. The meta-data of  each &rue branch can be of different types. A  ' instance corresponding to the logical  OR connective of two  s. It requires the  meta-data of each #rue branch to be of the same type. A   instance which always returns  with  the given value as F' s meta-data. A   instance which always returns  with  the given value as T' s meta-data. The   class declares the function  which ? evaluates the predicate against some value, returning a value  of type . ? Besides being parameterised over predicate type and predicate B parameter, the class is also parameterised over the actual types  of T's and F' s meta-data. A (-like type where each branch rue or  alse carries * some meta-data which is threaded through   evaluation. !logical True with some meta-data "logical False with some meta-data # )*+,-./01234567      )*+,-./01234567NoneA  # looking for some parameter value. A   which is true only for Accept: application/x-thrift. A   which is true only for Accept: application/json. A   against the 8s Accept header. 9:;<=>?@AB9:;<=>?@ABNone&&Turn route definitions into a list of Cs. 'Turn route definitions into snapable format, i.e. < Routes are grouped per path and selection evaluates routes  against the given Snap 8. DEFGHIJKLMpath handler  predicate path handler   path handler   path handler   !path handler   "path handler   #path handler   $path handler   %path handler   &'NOP  !"#$%&' &' !"#$%DEFGHIJKLM !"#$%&'NOPQ         !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFFGHIJJKLMNOsnap-predicates-0.1.0Data.PredicateSnap.Predicates Snap.RoutesSnap.Predicates.Tutorial:&::*::||::+::|:FailConst PredicateFValTValapplyBooleanTFParam AcceptThrift AcceptJsonAcceptRoutesaddRoutegetheadpostputdeletetraceoptionsconnect showRoutes expandRoutesghc-prim GHC.TypesBool $fShow:&:$fPredicate:&:c $fShow:||:$fPredicate:||:c $fShow:|:$fPredicate:|:c $fShowFail$fPredicateFaila $fShowConst$fPredicateConsta$fAlternativeBoolean$fApplicativeBoolean$fFunctorBoolean$fMonadPlusBoolean$fMonadBooleansnap-core-0.9.3.1Snap.Internal.Http.TypesRequestheaders'params' $fShowParam$fPredicateParamRequest$fShowAcceptThrift$fPredicateAcceptThriftRequest$fShowAcceptJson$fPredicateAcceptJsonRequest $fShowAccept$fPredicateAcceptRequestbaseGHC.BaseString _unroutesRoute_method_path_predPackErrorselectrespond $fMonadRoutes