         else
           callSaturatedKnownCompile ctx, sortedCall
       retrieve call, sortedCall
+      if nonLabeledArgs.length > positionalParams.length
+        malformed ctx, call, "Too many arguments to #{operator.symbol}"
       compiled
 
 # For use by the IDE, missing arguments are null

  toClassName = (c) -> c.className
  classParams = ctx.classParamsForType constraint
  if not classParams
    ctx.extendSubstitution substitutionFail
      message: "Constraint #{printType constraint} is ambiguous"
      conflicts: [constraint]
    return {}

  finalType = type#substitute ctx.substitution, type
  # allConstraints = (addConstraintsFrom ctx,
  #   {type, name: reference?.name, scopeIndex: reference?.scopeIndex}, finalType).constraints
  reducedConstraints =
    if reference
      constraintsFromReference ctx, {type, name: reference.name, scopeIndex: reference.scopeIndex}
