   termCompile ctx, term for term in list
 
 termCompile = (ctx, term) ->
-  ctx.setName()
+  ctx.subName()
+  ctx.setIsOperator no
   compiled = expressionCompile ctx, term
+  ctx.resetIsOperator()
   ctx.resetName()
   compiled
 


desiplifyType = (simple) ->
  if Array.isArray simple
    typeFn (map typeConstant, simple)...
  else
    typeConstant simple


# Set/Map implementation

isTranslated = (result) ->
  typeof result is 'string' or result instanceof String

callUnknownCompile = (ctx, call) ->
  callUnknownTranslate ctx, (operatorCompile ctx, call), call

callKnownCompile = (ctx, call) ->
  operator = _operator call
  args = _labeled _arguments call
  labeledArgs = labeledToMap args

  return 'malformed' if tagFreeLabels args

  paramNames = ctx.arity operator.token
  log "param names", paramNames
  if not paramNames
    return ctx.setDefer operator.token
  positionalParams = filter ((param) -> not (lookupInMap labeledArgs, param)), paramNames
