I do not see what is the problem here.
Does `scala.Option` behave any ďifferently?
There is, in general, no guarantee that the guard of a pf is not called twice.