private boolean parseAfterMillion(){
        // If no more tokens, it's still valid
        if (peek() == null){
            return true;
        }
        
        int[] parsed = parsePrefix();
        if (parsed == null){
            // Error parsing
            return false;
        }
        
        NumberToken next = peek();
        if (next == null){
            // Units, can't parse any more
            units = parsed;
            return true;
        } else if (next.type == TokenType.THOUSAND){
            // Thousands, parse again for units
            thousands = parsed;
            consume();
            return parseAfterThousand();
        }
        
        em.error("Expected thousand or end-of-file; got \"%s\"", next);
        return false;
    }