Syntactic combinator that abstracts over Block tree.
Apart from providing a more straightforward api that exposes
block as a list of elements rather than (stats, expr) pair
it also:
Strips trailing synthetic units which are inserted by the
compiler if the block ends with a definition rather
than an expression or is empty.
2. Matches non-block term trees and recognizes them as
single-element blocks for sake of consistency with
compiler's default to treat single-element blocks with
expressions as just expressions. The only exception is q""
which is not considered to be a block.
Syntactic combinator that abstracts over Block tree.
Apart from providing a more straightforward api that exposes block as a list of elements rather than (stats, expr) pair it also:
2. Matches non-block term trees and recognizes them as single-element blocks for sake of consistency with compiler's default to treat single-element blocks with expressions as just expressions. The only exception is q"" which is not considered to be a block.