Reduce internal non-determinism

This improves performance for large data structures by reducing the
amount of backtracking that occurs.
Release v0.0.3