public virtual bool AssignCompatible(BaseClass otherClass) => MatchCompatible(otherClass);
public override bool AssignCompatible(BaseClass otherClass) => otherClass is SomeClass or NoneClass;
public override bool MatchCompatible(BaseClass otherClass) => otherClass is IIterator || otherClass is ICollectionClass;
public virtual bool MatchCompatible(BaseClass otherClass) => Name == otherClass.Name;
public override bool AssignCompatible(BaseClass otherClass) => MatchCompatible(otherClass);
public override bool MatchCompatible(BaseClass otherClass) => otherClass.Name is "Some" or "None";
public override bool AssignCompatible(BaseClass otherClass) { return(base.AssignCompatible(otherClass) || otherClass.Name == "MutString"); }
public override bool AssignCompatible(BaseClass otherClass) => true;
public override bool AssignCompatible(BaseClass otherClass) => otherClass is SuccessClass or FailureClass;