   else if isTuple expression
     map syntaxType, (_terms expression)
   else if isCall expression
-    syntaxNameAs ctx, 'Constructor name required', 'typecons', (_operator expression)
+    (_operator expression).label = 'typecons'
     map syntaxType, (_arguments expression)
 
 syntaxNewName = (ctx, message, atom) ->

    typeConstructorCompile
  else
    malformed ctx, expression, 'not a valid type'
  )? ctx, expression

typesCompile = (ctx, expressions) ->
  typeCompile ctx, e for e in expressions

typeNameCompile = (ctx, atom, expectedKind) ->
  expanded = ctx.resolveTypeAliases atom.symbol

  [type, constraints...] = _arguments call
  new Constrained (typeConstraintsCompile ctx, constraints), (typeCompile ctx, type)

typeCompile = (ctx, expression, expectedKind) ->
  throw new Error "invalid typeCompile args" unless expression
  (if isAtom expression
    typeNameCompile
