term rewriting submodule (not tested)