Lexical Scope Capturing Rules

<template>
  {{eq 'foo' 'foo'}}
    ~~ this need to work without an import
    (does it also behave as a value, what about in the outer JS scope?)
</template>
import { eq } from 'ember-truth-helper';

<template>
  {{eq 'foo' 'foo'}}
    ~~ this need to refer to the imported `eq`
</template>
<template>
  <div>foo</div>
   ~~~ obviously this need to work as well
</template>
import { table } from './table';

<template>
  <table />
   ~~~~~ ideally we want this to work too (RFC said so), but it has tradeoffs
</template>
import { table } from './table';

<template>
  <tale />
   ~~~~ this typo probably won't error, unfortunate but understandable
</template>
<template>
  {{typo}}
    ~~~~ we really do want this to error, but what kind of error?
</template>
<template>
  {{atob "foo"}}
    ~~~~ does this (window.atob) work?
</template>

Whitespace

if (...) {
  class Foo {
    <template>
      Here
      <pre>
        <code>
          Hello
        </code>
      </pre>
        Bye
    </template>
  }
}

Should render

Here
<pre>
  <code>
    Hello
  </code>
</pre>
  Bye

Escaping

<template>
  <template>
  ~~~~~~~~~~ does this need escaping?
  \</template>
  ~~~~~~~~~~~ is this the escape sequence we want?
  \\
  ~~ do you generally need to write this to represent a single "\"?
</template>