add the ability to union xpath expressions with '|'

because, why not?

(also removes line numbers from macros so they don't pollute backtraces)