A Theory Of Typed Hygienic Macros