> A raw namedtuple is very memory efficient as it packs the attributes in a
> struct to get rid of the __dict__ of attributes in particular it does not copy
> the string for the keys on each instance.

> By deriving a namedtuple class just to introduce the __repr__ method we
> would also reintroduce the __dict__ on the instance. By telling the
> python interpreter that this subclass uses static __slots__ instead of
> dynamic attributes. Furthermore we don't need any additional slot in
> the subclass so we set __slots__ to the empty tuple.

You should probably add a comment summarizing this.