This is a re-implementations of pythons namedtuple from the collections module. Named tuple is an easy way to dynamically create a lightweight subclass of tuple. Like tuples, named tuples are immutable.
re-implementation of namedtuple from collections