How do you feel about an Option.merge function in Stdlib?

I wrote two of these functions in my app; <||> is my lazy version, e.g. Some(5) <||> lazy (Some (6+3)), and <|> for cases that can use a strict second argument. I decided I didn’t want to overload boolean ||.

I also added <??> for the “or default” variant of this logic, e.g. Some(5) <??> lazy (6+3)), and <?!> which takes a strict value. I chose this name because I’m teaching ReasonML to JS programmers, and it’s modelled on the JavaScript nullish coalescing operator (??). Unfortunately, while I can define ??, the associativity difference renders it fairly pointless in use.