|| 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