   applyKindFn (tupleType elemTypes.length), (typesCompile elemTypes)...
 
 typeConstantCompile = (atom) ->
-  name = atom.symbol
   atom.label = 'typename'
-  if /^[A-Z]/.test name
-    typeConstant name
-  else
-    new TypeVariable name, star
-
-typeConstantsCompile = (expressions) ->
-  map typeConstantCompile, expressions
-
+  atomicType atom.symbol, star
 
 # Inside definition, we call assignCompile with its RHS
 #   whether to call it and with what expression is left to the RHS expression

    map (syntaxNewName 'Parameter name expected'), params
  params

quantifyUnbound = (ctx, type) ->
  vars = subtractSets (arrayToSet findFree type), ctx.allBoundTypeVariables()
  quantify vars, type

# Takes a set of fixed type variables, a set of type variables which

    ctx.resetAssignTo()
    elemCompiled)

  precsForData = operatorCompile ctx, call

  # Typing operator like inside a known call
  for arg in args when isExtra arg
    arg.tea = toConstrained ctx.freshTypeVariable star

  # Gets the general type as if the extra arguments were supplied
  callTyping ctx, call
