private Token.TokenType deduceTokenType(final String tokenString) {
        if ("(".equals(tokenString)) {
            return Token.TokenType.OpenBracket;
        }
        if (")".equals(tokenString)) {
            return Token.TokenType.ClosedBracket;
        }
        if (",".equals(tokenString)) {
            return Token.TokenType.Comma;
        }

        try {
            Double.parseDouble(tokenString);
            return Token.TokenType.Number;
        } catch (NumberFormatException e) {
            // intentionally left blank
        }
        return Token.TokenType.Function;
    }