Agree about the setup totally. I also find that examples in docs and on web sites (foo, bar, baz etc) make learning harder than it should be. Real world examples always help, especially initially. For example, how can you use currying, decorators and meta programming in Python? Difficult! (But of course, I know that now!!)