Refactor the attribute data types infrastructure

... breaking all the things ...