typedef list[T] = ( T^ data, list[int]^? x, ); () test() { list[bool] obj; bool b = obj.data^; int i = obj.x?^.data^; list[int] inside = obj.x?^; list[bool] other = obj; }