caching phrases that can be heads and complements of phrases to reduce unification failures
logging to reduce number of unification failures