   translation: symbol
   pattern:
     if ctx.assignTo()
-      precs: [cond_ "#{ctx.assignTo()}.string" + " === #{symbol}.string"]
+      precs: [cond_ (jsBinary "===",
+        (jsAccess ctx.assignTo(), "string"), "#{symbol}.string")]
 
 literalPattern = (ctx, translation) ->
   if ctx.assignTo()
-    precs: [cond_ "#{ctx.assignTo()}" + " === #{translation}"]
+    precs: [cond_  (jsBinary "===", ctx.assignTo(), translation)]
+
+deferredExpression = ->
+  {js: 'deferred'}
 
 # type expressions syntax
 # or

      concat (filterAst test, term for term in _terms expression)
    else
      []

theme =
  keyword: 'red'

      else
        ctx.doDefer expression, dependencyName

  concat compiledPairs

definitionPairCompile = (ctx, pattern, value) ->
  # log "COMPILING", pattern
