Due to the removal of global lazy evaluation, in-line lambda definitions with no arguments, such as (@ f => ...) no longer work when passed as an argument to something, as they are just evaluated immediately. This is, obviously, not how it's supposed to work, but not evaluating them as a side-effect of the lazy evaluation seems like a potentially buggy solution, too. The best solution would probably be to hardcode argument evaluation to only be performed on specific types, thus avoiding the problem.
Due to the removal of global lazy evaluation, in-line lambda definitions with no arguments, such as
(@ f => ...)no longer work when passed as an argument to something, as they are just evaluated immediately. This is, obviously, not how it's supposed to work, but not evaluating them as a side-effect of the lazy evaluation seems like a potentially buggy solution, too. The best solution would probably be to hardcode argument evaluation to only be performed on specific types, thus avoiding the problem.