Classes are also values in Ruby. Sorbet has two ways to describe the type of these class objects: `T.class_of(...)` and `T::Class[...]`.| sorbet.org
Sorbet supports abstract classes, abstract methods, and interfaces. Abstract| sorbet.org
What’s Here¶ ↑| ruby-doc.org
`T.attached_class` can be used to refer to the type of instances from a| sorbet.org
Interfaces are a kind of multiple inheritance, which makes method dispatch difficult. Different solutions are discussed, as used e.g. by C++, Java, C#, Go, and Rust.| lukasatkinson.de
This article explains the difference between dynamic dispatch (late binding) and static dispatch (early binding).| lukasatkinson.de
A series of pictures which show how Rails's ActiveSupport::Concern works to redefine what inheritance means in Ruby.| blog.jez.io