This method is kinda bifurcated.  It seems like it should be two methods: one that uses the data type, the other that uses the rollup type (we already have that in `NumericSeriaizer`.