> **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
## Why does Sorbet think this is `nil`? I just checked that it's not!| sorbet.org
There are five ways to assert the types of expressions in Sorbet:| sorbet.org
| sorbet.org
At this point in my career, I’ve worked on at least three projects where performance was a defining characteristic: Livegrep, Taktician, and Sorbet (I discussed sorbet in particular last time, and livegrep in an earlier post). I’ve also done a lot of other performance work on the tools I use, some of which ended up on my other blog, Accidentally Quadratic. In this post, I want to reflect on some of the lessons I’ve learned while writing performant software, and working with rather a lot...| Made of Bugs