Monad style approach is finished, except for indefinite repeat ranges.