The second patch is the real functionality, but it's dependant on a recent patch from Angel that hasn't been accepted yet. Since this is likely to generate some discussion and I'd like to get this in before the freeze, I didn't want to wait and included it here with a modified test to demonstrate the change.