Addig a couple popular terms.

If you're still using this: I've got a Clojure port that runs in O(n)
time relative to the terms you've defined. Ping me if you want it.