What about part 2. I.e. these cases:
```
    var string   = "{{foo (bar)}}!";
    var context  = {
      bar: function() {
        return "LOL";
      }
    };
    var helpers  = {
      foo: function(val) {
        return val+val;
      }
    };
    shouldCompileTo(string, [context, helpers], "LOLLOL!");
```

```
    var string   = "{{foo (bar)}}!";
    var context  = {
      bar: "LOL"
    };
    var helpers  = {
      foo: function(val) {
        return val+val;
      }
    };
    shouldCompileTo(string, [context, helpers], "LOLLOL!");
```