Because the ReflectDatumWriter falls back on the GenericDatumWriter where it needs to, can we avoid making this distinction? I think the reflect version will work for the generic case.