It's not good enough to make the type non-Clone (and therefore, non-Copy)?
Afaict, Rust memcopys moved objects if they're larger than some size when passed as function arguments. Also take into account implicit copies such as those left laying around when a vector outgrows it's heap segment.
Crypto Implementation Is Hard. Especially when you need it to be secret. It is lots easier if you don't care.
In other words, why is a zeroing Drop of a type more secure if it uses Pin too?
[0] though I guess the compiler might be smart enough to implicitly pass big-enough values by pointer instead