This fixes functions that return non-primitive optional values. E.g.
fn someFnWithOptional(x: f32) ?[2]f32 {
if (x > 5) return null;
return .{ x, x };
}
Pieced together referencing airIsNull, and airUnwrapOptionalPtr. Tested
that shaders in an external project are outputting the expected values
Implemented to unblock some of my other work, please do note feel obligated to take this if it's more annoying to review and merge than it is to do whatever work you were already doing. I understand that this is an active area of development, and I don't want to step on any toes. If this isn't helpful I can leave this area alone :)