It's to allow child classes to not have to override functions like `persist` and `cache` that are used for chaining:

http://scalada.blogspot.com/2008/02/thistype-for-chaining-method-calls.html