`[try_]pin_init!` should check that the initialized struct is `!Unpin`: * if it is `Unpin`, `[try_]init!` can be used instead (since all structurally pinned values must then also be `Unpin`) * it can catch people forgetting `PhantomPinned` in their structs