When projecting from `Pin<&mut Outer>` to a field, you must decide whether the field is *structurally pinned*. What is the precise soundness consequence of declaring a field structurally pinned (giving out `Pin<&mut Field>`) versus not?
struct Outer {
fut: SomeFuture, // !Unpin
counter: u64,
}