def Extensible(cls):
  """Returns a subclass of cls that has no __slots__ member.

  This allows you to set arbitrary members in each instance, even if they
  don't exist already in the class.

  This is useful for making one-off Exporter() instances in tests,
  for example.

  Args:
    cls: a class to inherit from.

  Returns:
    A new class derived from cls.

  Example:
    o = Extensible(object)
    o.Foo = 5
  """

  class Ext(cls):
    pass

  Ext.__name__ = 'Ext_' + cls.__name__
  return Ext