case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
        raw, err := strconv.ParseInt(num, base, typ.Bits())

        if err != nil {
            return reflect.Zero(typ), errors.Wrapf(err, "could not convert %s to %s", num, typ.Kind())