This decorator marks a class as a disjoint base.
Child classes of a disjoint base cannot inherit from other disjoint bases that are
not parent or child classes of the disjoint base.
For example:
@disjoint_base
class Disjoint1: pass
@disjoint_base
class Disjoint2: pass
class Disjoint3(Disjoint1, Disjoint2): pass # Type checker error
Type checkers can use knowledge of disjoint bases to detect unreachable code
and determine when two types can overlap.