lazy evaluation of block statements
collecting interpreted implemented with a test