fix #1270 basic_fields::value_type uses base hooks instead of member hooks, otherwise MSVC can sometimes produce undefined behavior when attempting to recover the base class from a data member in certain build configurations.