From my recollection working with Scala many years ago... Scala is in some ways like C++, it gives a grab bag of cleverness. You can shoot yourself in the foot going wild with template metaprogramming and excessive abstraction and cleverness in C++, or go wild with FP abstraction in Scala.
Or you can define a sane coding standard and subset that your team agrees is readable, and stick with it, and enforce it through code review.
Or you can define a sane coding standard and subset that your team agrees is readable, and stick with it, and enforce it through code review.