What happen exactly when you inherit from `Struct.new` instead from a class? Or in other word, how is the `<` operator defined for class when used with struct objects instead of class objects?

Case 1:

```
class SomeClass < ParentClass; end;

```

Case 2:

```
AClass = Struct.new(:value)
class SubClass < AClass; end;

```

Case 3:

```
class SubClass < Struct.new(:value); end;

```