<glvalue> type of the most derived object ([intro.object]) to which the
glvalue denoted by a glvalue expression refers
[ Example:
if a pointer ([dcl.ptr]) p whose static type is βpointer to
class Bβ is pointing to an object of class D, derived
from B (Clause [class.derived]), the dynamic type of the
expression *p is βD.β References ([dcl.ref]) are
treated similarly.
β end example ]