Split Datatype to Datatype and Concrete_datatype
Datatype must be split to:
- Datatype - abstract datatype with accessors
- Concrete_datatype - datatype of data with known memory layout
First step for views (#342)
Datatype must be split to:
First step for views (#342)