On Scala case classes and companion objects: Structuring your code in terms of case classes and companion objects is a great way to easily decouple your data and allow people to easily use it.
Do you struggle with Error Handling in your code? Scala has some great tools to help you out! This blog post will teach you about Option, Either, and Try and how to use them to handle errors in a more functional way.