Abstract singleton class methods do not belong in a well-behaved type system. Sorbet allows them anyways, which causes problems. Here's why they're bad and what to do instead.| blog.jez.io
A solid grasp of the tools Ruby provides for inheritance, like include and extend, helps write better code. But the concepts are often learned hastily—this post revisits them in depth.| blog.jez.io
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