Refactor the `if` helper to not rely on `bind` anymore

Baby steps...

@mmun