|| package:relude
Boolean "or", lazy in the second argument
Monadic version of
(||) operator.
It is lazy by the second argument (similar to
(||)), meaning
that if the first argument is
True, the function will return
True without evaluating the second argument.
>>> Just False ||^ Just True
Just True
>>> Just False ||^ Just False
Just False
>>> Just False ||^ Nothing
Nothing
>>> Just True ||^ Nothing
Just True
>>> Just True ||^ error "Shouldn't be evaluated"
Just True