def compose_types(a, *cs):
 if (not cs):
  return a
 mcls = ((a,) + cs)
 return type(('compose_types(%s)' % ', '.join(map(attrgetter('__name__'), mcls))), mcls, {})

def compose_types ( a , * cs ) : if ( not cs ) : return a mcls = ( ( a , ) + cs ) return type ( ( 'compose_types(%s)' % ', ' . join ( map ( attrgetter ( '__name__' ) , mcls ) ) ) , mcls , { } )
compose multiple classes together .