code: def make_contrib(superclass, func=None):
      
      def contribute_to_class(self, cls, name):
          if func:
              func(self, cls, name)
          else:
              super(superclass, self).contribute_to_class(cls, name)
          setattr(cls, self.name, Creator(self))
  
      return contribute_to_class
docs: Returns a suitable contribute_to_class() method for the Field subclass.
  
      If 'func' is passed in, it is the existing contribute_to_class() method on
      the subclass and it is called before anything else. It is assumed in this
      case that the existing contribute_to_class() calls all the necessary
      superclass methods.