Rework `orRule` to use an inner function to avoid re-passing `reader`.
Rework `orRule` to use an inner function to avoid re-passing `reader`.

danfuzz/samizdat,danfuzz/samizdat,danfuzz/samizdat,danfuzz/samizdat