datum: rewrite two normalization methods to allow Datum subclasses