static folly::Optional<ClassInfo> commonAncestor(ClassInfo a, ClassInfo b) { if (!isNormalClass(a.get()) || !isNormalClass(b.get())) return folly::none; if (auto result = a.get()->commonAncestor(b.get())) { return ClassInfo(result, ClassTag::Sub); } return folly::none; }
static bool subtypeOf(ClassInfo a, ClassInfo b) { return a.get()->classof(b.get()); }