i prefer the Before one, it is clear what it does, it's branching, common, even in plain english or any latin language
the second, that magic is not clear, i'll keep using the Before personally
the second, that magic is not clear, i'll keep using the Before personally
Before:
if a.b().c().d().e().f() { Some(g().h().i()) } else { None }
Now:
a().b().c().d().e().f().then(|| g().h().i())
Even better if you have multiple boolean returns in the chain.