Optimized block

@axel22 Please review.
Note that as I'm using quasiqoutes to deconstruct trees, this branch requires either macro-paradise plugin or scala-2.11.
I've switched it to 2.11-m7