úÎ!0Y.&      !"#$%None,.=>?@ACHUVXgk,Lnamed*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' SIn 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: .named<Match on an argument without specifying its name. See also: .named&Explicitly build a function parameter: fn   #param_name value ,This is equivalent to the implicit notation: fn  #param_name value named>Explicitly 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 () namedd 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 l 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 NoneV-}  *         !"#$%&'(&)*&)+&),-$named-0.3.0.1-GwpuPjBY1xnHurMYYo5M6DNamed.InternalNamed WithParam' withParamDecideDPassDFillDApplyNameDefaults WithParamwithParamInjValueinjValue:?:!NamedFArgFArgparamparamF!defaultsargargFargDef$fIsLabelname->$fInjValueMaybe$fInjValueIdentity$fIsLabelname->0$fIsLabelname'Name$fWithParam':pfnfn'$fWithParam':pfnfn'0$fWithParam':pfnfn'1$fWithParam'[]pfnfn'$fWithParampfnfn'baseData.Functor.IdentityIdentity GHC.MaybeJustNothingMaybe