Added utilities for complie-time abstraction over data representation