lib/optimiser.js
function removeNestedBlocks (ast) {
  var tagged;
  while((tagged = findNestedBlocks(ast)).length) {
    fast.forEach(tagged, function (item) {
      var node = item[0],
          parent = item[1],
          index = parent.body.indexOf(node);
      fast.apply(Array.prototype.splice, parent.body, fast.concat([index, 1], node.body));
    });
  }
  return ast;
}
function removeNestedBlocks (ast) {
  var tagged;
  while((tagged = findNestedBlocks(ast)).length) {
    fast.forEach(tagged, function (item) {
      var node = item[0],
          parent = item[1],
          index = parent.body.indexOf(node);
      fast.apply(Array.prototype.splice, parent.body, fast.concat([index, 1], node.body));
    });
  }
  return ast;
}
function removeNestedBlocks ( ast ) { var tagged ; while ( ( tagged = findNestedBlocks ( ast ) ) . length ) { fast . forEach ( tagged , function ( item ) { var node = item [ 0 ] , parent = item [ 1 ] , index = parent . body . indexOf ( node ) ; fast . apply ( Array . prototype . splice , parent . body , fast . concat ( [ index , 1 ] , node . body ) ) ; } ) ; } return ast ; }
Remove pointless nested BlockStatements that are caused by the compilation process.
Remove pointless nested BlockStatements that are caused by the compilation process .