         else
           nameCompile) ctx, atom, symbol
   if type
-    markOrigin type.type, atom # only for simple types
     atom.tea = type
   atom.id = id if id?
   atom.scope = ctx.currentScopeIndex()

    else
      malformed ctx, atom, 'Unrecognized character'
      ''
  type: toConstrained charType
  translation: translation
  pattern: literalPattern ctx, translation

stringCompile = (ctx, atom, symbol) ->
  type: toConstrained stringType
  translation: symbol
  pattern: literalPattern ctx, symbol


    else
      # Fake a function call for empty parens
      if terms.length is 1
        terms = join terms, [tea: toConstrained (withOrigin (ctx.freshTypeVariable star), call)]
      callInfer ctx, (_operator call), terms

callInfer = (ctx, operator, terms) ->
