Text this: A Modular Approach to Metatheoretic Reasoning for Extensible Languages.