Scala provides many tools for building programs. Depending on how you
look at it, this can be a great thing, or a terrifying thing. I will
take a look at the scala "sub-set" that I adopted over years of pain,
and hopefully demonstrate that you can get more benefit from scala by
adopting less of it. In the end my sub-set may be different to yours,
but it might give you some different ideas on how to approach
programming in scala (or in general).