* Rename guard(guard) to guardWith(guard)
* Allow for guard-branch manipulation of the invocation:

    .guard().filter().whatever().with(guard)

* Allow for permutation in the initial guard-branch manipulation

    .guard(0,2,3).whatever().with(guard)