[boost] Why is iterator_traits<unordered_map<K, M>>::pointer a detail::ptr_node type rather than value_type *?