It's extremely messy and annoying to work with, to do the same thing you'd do by walking one step in Haskell you have to do five somersaults in Scala. It can't be fixed, and the Scala community thinks fixing it means hiding it behind fifty layers of fragile abstractions.