if we check for the builtins (excluding errors, dunder methods, warnings; one could include them also if required)
import keyword, re
x = sorted([i for i in list(keyword.__builtins__) if not re.search('.*Error|Warning|__', i)], key=len)
and then run,
l1 = []
l2 = []
for i in x:
  try:
    A = type('A', (eval(i),), {})
    l1.append(i)
  except TypeError:
    l2.append(i)
then,
l1
gives,
['int', 'map', 'set', 'str', 'zip', 'dict', 'list', 'type', 'bytes', 'float',
 'super', 'tuple', 'filter', 'object', 'complex', 'property', 'reversed',
 'bytearray', 'enumerate', 'frozenset', 'Exception', 'SystemExit',
 'classmethod', 'staticmethod', 'BaseException', 'StopIteration',
 'GeneratorExit', 'KeyboardInterrupt', 'StopAsyncIteration']
while,
l2
gives,
['id', 'abs', 'all', 'any', 'bin', 'chr', 'dir', 'hex', 'len', 'max', 'min',
 'oct', 'ord', 'pow', 'sum', 'eval', 'exec', 'hash', 'iter', 'next', 'repr',
 'vars', 'None', 'True', 'bool', 'open', 'help', 'ascii', 'input', 'print',
 'round', 'False', 'range', 'slice', 'divmod', 'format', 'locals', 'sorted',
 'compile', 'delattr', 'getattr', 'globals', 'hasattr', 'setattr', 'credits',
 'license', 'display', 'runfile', 'dreload', 'callable', 'Ellipsis', 'execfile',
 'copyright', 'breakpoint', 'isinstance', 'issubclass', 'memoryview',
 'get_ipython', 'NotImplemented']
the list l1 contains builtins which could act as a base class.