Parameterized With method now can return "this"

This is a GC pressure enhancement. If no net changes are made to an
object via the With() method, the same object is returned rather than a
new one.