     @_isOperator = []
     @variableIndex = 0
     @typeVariabeIndex = 0
-    @nameIndex = 0
+    @nameIndex = 1
     @substitution = newMap()
     @statement = []
     @cacheScopes = [[]]

        pattern: []
    else
      atom.label = 'name'
      id = ctx.freshId()
      type = toConstrained ctx.freshTypeVariable star
      ctx.bindTypeVariables [type.type.name]
      ctx.addToDefinedNames {name: symbol, id: id, type: type}

      else
        nameCompile ctx, atom, symbol
  atom.tea = type if type
  atom.id = id if id?
  if ctx.isOperator()
    # TODO: maybe don't use label here, it's getting confusing what is its purpose
    (labelOperator atom)
