I don't think it's that bad. If you used something like `firstNonEmpty` you will have to provide a default anyway. Also in this instance, you will still need to do the `maybeBlock.flatmap` part.

But in other parts of the code where we use overriding via `orElse` or `getOrElse`, then I think maybe we should introduce it!