This PR addresses #537 (closed).
The reset
method simply reverts the macro context's enforester to the state it was in when the context was instantiated. This allows for many of the requests in #529 (closed).
I considered a few of the alternate naming suggestions, but none of them was a compelling alternative (though PHP does use rewind
).