The reason for the switch is because fromstr is now a templated function.  In order to have it detect what type the function should return, the function needs an input of that type.

In some other places, I've used the alternate usage of this function:

    proto = fromstr(ver+7, (int64_t*) NULL);

If desired, we can easily add back int64fromstr like so:
    
    inline int64_t int64fromstr(std::string s)
    {
        return fromstr(s, (int64_t*) NULL);
    }