Tuple accessors
We should orthogonalize memory layout & sub-element access in Datatypes
Record_datatype & Tuple_datatype should inherit from a common base, they share the memory layout, a plugin that only cares about memory layout should be able to use both.
Datatype interfaces should be provided for Index_accessible, Slice_accessible and Member_accessible, the accessors should only depend on those three interfaces.