get_parent_class has a default argument, and check for null instead of uninitialized
Explictly return Variants