Use static_cast.
Add FIXME.
Refactor to avoid exposing Base::base_.
Get rid of final friend.