Simplify and document process().

Expressing it as a lambda makes the autocurry unnecessary.
Gracefully ignore corner-case lines where the loc can be determined but the extent can't. Ref bug 1030312.

This makes all macro tests pass.

We can come back and try to suss something useful out of these later, but we don't in prod.