makes the type of Macro.tpe more precise