code: func (v *Variant) GetInt() (int64, error) {
  	t := v.Type().String()
  	var i int64
  	switch t {
  	case "y":
  		i = int64(C.g_variant_get_byte(v.native()))
  	case "n":
  		i = int64(C.g_variant_get_int16(v.native()))
  	case "q":
  		i = int64(C.g_variant_get_uint16(v.native()))
  	case "i":
  		i = int64(C.g_variant_get_int32(v.native()))
  	case "u":
  		i = int64(C.g_variant_get_uint32(v.native()))
  	case "x":
  		i = int64(C.g_variant_get_int64(v.native()))
  	case "t":
  		i = int64(C.g_variant_get_uint64(v.native()))
  	default:
  		return 0, fmt.Errorf("variant type %s not an integer type", t)
  	}
  	return i, nil
  }
docs: // GetInt returns the int64 value of the variant if it is an integer type, and
  // an error otherwise.  It wraps variouns `g_variant_get_*` functions dealing
  // with integers of different sizes.