         case InvalidArguments
     }
     
+    public let kind: Kind
     
-    public let kind: Kind
+    // the location within the original source string where the error was found
     public let range: Range<String.Index>
 }
 

        case ZeroLengthVariable
        
        // Resolution Errors
//        case CannotParseHexNumber
//        case CannotParseOctalNumber
        case CannotParseLocalizedNumber
        case UnknownOperator
        case AmbiguousOperator

    public enum Kind {
        // Tokenization Errors
        case CannotParseNumber
        case CannotParseHexNumber // can also occur during Resolution
        case CannotParseOctalNumber // can also occur during Resolution
        case CannotParseExponent
        case CannotParseIdentifier
        case CannotParseVariable
