Îõ³h* B&      !"#$%0.3.0.2 Safe-Inferred1ÈÛì ·named*A proxy for a name, intended for use with -XOverloadedLabels: #verbose :: Name "verbose" namedSupply a parameter p to a function fn, resulting in fn'.ÝFor example, when we pass a single named parameter, we get a function without this parameter: ‹WithParam ("x" :! Char) -- p ("b" :! Bool -> "x" :! Char -> r) -- fn ("b" :! Bool -> r) -- fn' ÓIn case the parameter cannot be supplied, this constraint will become a type error. named!Supply a parameter to a function:    (#param_name value) function      function !This is a prefix version of the ( ) operator.named;Infix notation for the type of an optional named parameter.named1Infix notation for the type of a named parameter.named!Assign a name to a value of type a wrapped in f. 0#verbose True :: NamedF Identity Bool "verbose" named?Match on an F-argument without specifying its name. See also: .namedExplicitly build a function parameter inside an arity wrapper: fn   #param_name (& value) fn   #param_name (' value) fn   #param_name ( )This has no equivalent implicit notation.named!Supply a parameter to a function:  function  #param_name value   function  #x 7  #y 42   This is an infix version of  .namedPassing > to a function fills all unspecified optional parameters with (: fn :: "b"  Bool -> "x"  Char -> Int -> IO () fn   :: "b" % Bool -> Int -> IO () namedä unwraps a named parameter with the specified name. One way to use it is to match on arguments with -XViewPatterns: %fn (arg #t -> t) (arg #f -> f) = ... ÛThis way, the names of parameters can be inferred from the patterns: no type signature for fn+ is required. In case a type signature for fn9 is provided, the parameters must come in the same order: ”fn :: "t" :! Integer -> "f" :! Integer -> ... fn (arg #t -> t) (arg #f -> f) = ... -- ok fn (arg #f -> f) (arg #t -> t) = ... -- does not typecheck named is similar to Ý: it unwraps a named parameter with the specified name. The difference is that the result of & is inside an arity wrapper, which is & for normal parameters and ) for optional parameters.namedA variation of ì for optional arguments. Requires a default value to handle the case when the optional argument was omitted: $fn (argDef #answer 42 -> ans) = ... +In case you want to get a value wrapped in ) instead, use  or .    9  Safe-InferredÛ   *        !"#$%&'()'*+'*,'*-.$named-0.3.0.2-KVfAGXZJRskAttw7WyB9RmNamed.InternalnamedNamed WithParam' withParamDecideDPassDFillDApplyNameDefaults WithParamwithParamInjValueinjValue:?:!NamedFArgFArgparamparamF!defaultsargargFargDef$fIsLabelnameFUN$fInjValueMaybe$fInjValueIdentity$fIsLabelnameFUN0$fIsLabelname'Name$fWithParam':pfnfn'$fWithParam':pfnfn'0$fWithParam':pfnfn'1$fWithParam'[]pfnfn'$fWithParampfnfn'baseData.Functor.IdentityIdentity GHC.MaybeJustNothingMaybe