Made type-matcher generic instead of having tg/type-matcher and emf/eclass-matcher