docs: public final boolean isDatatype( DdlTokenStream tokens ) throws ParsingException {
          // Loop through the registered statement start string arrays and look for exact matches.
  
          for (String[] stmts : basicCharStringTypes) {
              if (tokens.matches(stmts)) return true;
          }
  
          for (String[] stmts : basicNationalCharStringTypes) {
              if (tokens.matches(stmts)) return true;
          }
  
          for (String[] stmts : basicBitStringTypes) {
              if (tokens.matches(stmts)) return true;
          }
  
          for (String[] stmts : basicExactNumericTypes) {
              if (tokens.matches(stmts)) return true;
          }
  
          for (String[] stmts : basicApproxNumericStringTypes) {
              if (tokens.matches(stmts)) return true;
          }
  
          for (String[] stmts : basicDateTimeTypes) {
              if (tokens.matches(stmts)) return true;
          }
  
          for (String[] stmts : basicMiscTypes) {
              if (tokens.matches(stmts)) return true;
          }
  
          // If no type is found, assume it's a custom type
          return isCustomDataType(tokens);
      }