Advanced Types

The Spade type system is one of the most powerful parts of the language. Like any type system, it can be used to prevent bugs from arising from values being misrepresented. As we will see in this chapter, it can do much more, from ensuring that interconnected modules are compatible to serving as a tool for building new abstractions directly inside the language.