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