The first Ember view layer was designed kind of like you'd expect: it treated the "template language" as a very specialized external DSL with a decent amount of special syntax. In addition, the implementation was very ad-hoc, which led to a number of persistent, whack-a-mole bugs (including cases where "string literals" were interpreted as expressions and bare words were interpreted as string lite