Avoid double type-checking in datum_t::get(size_t)