anchor.diff:              (tys |> List.map (unwrap >> compileType) |> String.concat ",") +
               output ">"
   
  +// Converts left side of a variable assignment to the C++ representation.
   and compileLeftAssign (left : LeftAssign) : string =
       match left with
           | VarMutation {varName=(_, _, varName)} ->
  
positive.code:         (templateApp.capExprs |> unwrap |> List.map (unwrap >> compileCap))) |> String.concat ", ") +
      output ">"
  
  and compileDec (dec : Declaration) : string =
      match dec with
          | (ExportDec _ | ModuleNameDec _) ->
  
negative.code:             output "return {};" + unindentId() + newline() +
              output "})())"
  
  // Convert Juniper template to C++ template
  and compileTemplate (template : Template) : string = 
      let tyVars = template.tyVars |> unwrap |> List.map (unwrap >> (+) "typename ")
      let capVars = template.capVars |> unwrap |> List.map (unwrap >> (+) "int ")
  