code: function smashContext(context) {
    var obj = {};
  
    for (var i = 0; i < context.length; i++) {
      var level = context[i];
  
      if (level instanceof Date) {
        obj.__date = level;
      } else {
        for (var k in level) {
          obj[k] = level[k];
        }
      }
    }
  
    return obj;
  }
docs: TODO: if Proxy, make more efficient TODO: cache?