Seol mar théacs é seo: The role of type equality in meta-programming