somehow the function object_getInstanceVariable has the following signature
fn object_getInstanceVariable(obj: id, name [*c]const u8, outValue: [*c]?*anyopaque) Ivar;
this extra layer of indirection is making it exceptionally annoying to work with, and I'm hoping to get some extra minds thinking about the best way to call into it when the "thing" that's stored there is, say, a u64. just doing
var val: u64 = 0;
_ = c.object_getInstanceVariable(..., &&val);
doesn't work, basically because zig marks &&val as *const *u64, and doing a little contortion to cast it to *?*anyopaque results in a trace trap.