Re-work structure so that DatumValue handles the different data types itself.