In this chapter, you extended your knowledge of low-level memory management techniques to include compound data structures, as well as pointers, and learned how to cast data back and forth from the generic Ptr[Byte] type to work with C APIs. With these techniques, we extended the Google NGrams code we wrote in the first chapter to handle some real-world sorting and aggregation problems. Next, we’re going to shift gears and look at how to communicate over a network in Scala Native using only low-level OS primitives.