What current policy on crate size and structure? In my understanding thanks to cargo capabilities small fine-grained crates is preferable to monolithic ones. But many crates tend to use more monolithic approach. Is there a reason for it or is it simply no one bother to break them into smaller ones?

What a reasonable limit for breaking crates into separate ones in your opinion?

And what if say monolithic crates decoupled into 50 smaller crates, will be there costs (compile time, runtime, binary size, etc.) to pay for such fine-grain approach?