code: def _subclass_must_implement(self, fn):
          
          m = "Missing function implementation in {}: {}".format(type(self), fn)
          return NotImplementedError(m)
docs: Returns a NotImplementedError for a function that should be implemented.
          :param fn: name of the function