Modified instantiation to ignore terms with no type variables, pushing down tvar becomes type in pattern code to provide added type hinting