code: def register_macro(self, *macros):
          
          for m in macros:
              if inspect.isclass(m) and issubclass(m, macro_module.Macro):
                  self.macros.append(m)
              else:
                  raise TypeError("Coundn't register macro; a macro must inherit"
                                  " from macro.Macro")
docs: Registers macro classes passed a method arguments.