He tries to make a distinction between library-level and consumer-level in regards to the type-system and the user docs; hmm, where have I heard that before?
And how can you make that distinction in a language anyway? Aren't users supposed to implement their own flatMap -like functionality if not available?
This just highlights one big Scala flaw.