Just create a single-element cluster of your object and put that in the DVR.
DVRs of single-element clusters allow the type of the data within them to change because they disallow casting the refnum itself to other types. A reference archictecture can only support one or the other, never both (because otherwise you trivially get references to a child type that contains a type that isn't a child).