This restriction exists because input checks are evaluated in an environment in which _chks__ is forced, thereby overriding a value promised by a (would-be) argument of the same name.
In practice, a function won't have an argument named _chks__ (note the trailing double _), so this restriction only concerns a rare corner case. Nonetheless, this is a stain on strictly(), albeit virtually invisible.
An acceptable removal of this restriction must:
Be localized to changes in the (internal) function validating_closure()
Not degrade performance of evaluating checks
(This is possible using meta-programming, but I want to avoid a hack that would only address an unlikely occurrence.)
This restriction exists because input checks are evaluated in an environment in which
_chks__
is forced, thereby overriding a value promised by a (would-be) argument of the same name.In practice, a function won't have an argument named
_chks__
(note the trailing double_
), so this restriction only concerns a rare corner case. Nonetheless, this is a stain onstrictly()
, albeit virtually invisible.An acceptable removal of this restriction must:
validating_closure()
(This is possible using meta-programming, but I want to avoid a hack that would only address an unlikely occurrence.)