creates_new_type is no longer needed
string_rep is no longer needed
Made Array generic with type var T. Check type vars length when instantiating a class.
Type vars as restrictions