Scala can be a little obtuse. Yesterday I encountered something like this:
def foo(bar: Bar): Option[Bazz => Buzz => Blah]
It's a function that takes Bar and returns an Option boxing a function that takes a Buzz and returns a Blah. I think some clarifying parenthesis are in order, and probably should be required by the compiler.
When you see something like this: