Use one common type for all elements to make the implementation a lot simpler.