struct MyStruct { x int } fn unwrap_option(event_data ?MyStruct) int { if val := event_data { return val.x } else { return 0 } } fn wrap_unwrap_ptr(event_data &MyStruct) int { return unwrap_option(event_data) } fn main() { data := MyStruct{ x: 0 } result := wrap_unwrap_ptr(&data) assert data.x == result }