support hash: pair, value_holder, optional, variant, tribool