docs: def default(self, obj):
          """
          :returns: obj._reprJSON() if it is defined, else
              json.JSONEncoder.default(obj)
          """
          if hasattr(obj, '_reprJSON'):
              return obj._reprJSON()
          #Let the base class default method raise the TypeError
          return json.JSONEncoder.default(self, obj)