Pātuhitia tēnei: The role of type equality in meta-programming