Abstract type is a generic type parameter comprising - type constructor;
Abstract type definitions can not be directly used as a variable type;
You must be concrete;
It is a generic type constructor.
+ Constructor parameter type = specific type of space;
= + Particular type of generic type parameter space.
Generic concept of field type, and the interface, the abstract concepts same level;