Sorbet supports abstract classes, abstract methods, and interfaces. Abstract| sorbet.org
`T.attached_class` can be used to refer to the type of instances from a| sorbet.org
Sorbet has syntax for creating generic methods, classes, and interfaces.| sorbet.org
Intersection types are how we overlap two types, declaring that an expression| sorbet.org