The Sorbet syntax for type annotations representing arrays, hash maps, and other containers defined in the Ruby standard library looks different from other [class types](/docs/class-types) despite the fact that Ruby uses classes to represent these values, too. Here's the syntax Sorbet uses:| sorbet.org
> **Note**: Class types are used to describe values that are instances of a class---these are the most commonly used types. To instead learn about types for class objects themselves, see [T.class_of](/docs/class-of).| sorbet.org
This doc will cover how to enable and disable the **static checks** that Sorbet| sorbet.org
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