I think it's pretty close as it stands: `Forall x. if(x.nonEmpty) foo(x) == x.map(f).flatMap(foo)` as long as `f` doesn't influence the emptiness of `foo`