I see; that does seem like a legitimate use case. I just don't think it is important to put every user-defined type in its own file.
As far as I can tell, that practice is mainly prevalent in object-oriented languages, but Rust's types are much more self-contained, more modular, and simpler, so I usually find it advantageous to keep closely-related types together in the same file, so that I don't have to context (and file) switch too often while writing or modifying their implementation.
Having many files and/or very deep hierarchies – and thus the need of jumping around across several different files when changing them – tends to annoy me and makes me lose track of what I'm about to do.
(Also, if two types need to be able to rip each others' guts apart, they probably do belong in the same household. )