First step towards arrays. Implemented a functional type class and type manager (To manage pointers to types) which will soon replace every use of ValueType. This type class will then allow for arrays etcetera to be defined. This was necessary to facilitate nested types for example array(array(int))