It's too bad `namedtuple` is not available as a metaclass in the stdlib. You could then just use a subtype. `namedtuple` is one of the less pretty parts of the standard library in my opinion.