I don't get how having type classes makes the learning curve steeper. It's not like the mere existence of type classes means you have to start writing your own and doing functional dependencies and all that.
For a beginner, it just means being able to write filter instead of List.filter or whatever.