I&#x27;m not really sure what the problem is here: having to formally verify a module doesn&#x27;t seem fundamentally different to formally verify a single function. I mean, sure, it&#x27;s some more code, but there&#x27;s still well-defined containment. And, being &quot;allowed&quot; to reason about a whole module (well, usually one just cares about a whole type, but these often match, especially for unsafe code) seems far more useful: one can build far more interesting abstractions. If one was forced to reason about a single function at a time, Vec couldn&#x27;t exist in a useful way, as every function would have to assume the incoming Vec value could be arbitrarily invalid.<p>In any case, there are many many modules with no `unsafe` code, e.g. std::option has none [1], iron::response has none [2], image::jpeg has none [3] (just some random examples). These are automatically safe, if you assume that that the code they call is safe, which seems to me like the only assumption that can make sense: if the safe modules call unsafe ones that aren&#x27;t safe... well, the problem is in the unsafe ones, not the safe ones.<p>What I&#x27;m trying to say is this paragraph doesn&#x27;t seem to change anything fundamental about the objections to safe vs. unsafe you sometimes write about; it is not introducing anything new, and so the refutations you often receive still apply.<p>[1]: <a href="https:&#x2F;&#x2F;github.com&#x2F;rust-lang&#x2F;rust&#x2F;blob&#x2F;dfaddb732ced1da9d310990df095ca36f43fbc3d&#x2F;src&#x2F;libcore&#x2F;option.rs" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;rust-lang&#x2F;rust&#x2F;blob&#x2F;dfaddb732ced1da9d3109...</a><p>[2]: <a href="https:&#x2F;&#x2F;github.com&#x2F;iron&#x2F;iron&#x2F;blob&#x2F;d3942d72e3178e7b34ebf1ea0e07b2dc3f9749ee&#x2F;src&#x2F;response.rs" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;iron&#x2F;iron&#x2F;blob&#x2F;d3942d72e3178e7b34ebf1ea0e...</a><p>[3]: <a href="https:&#x2F;&#x2F;github.com&#x2F;PistonDevelopers&#x2F;image&#x2F;tree&#x2F;f2b86c1ec6d3c02b827190671ea9302716e86028&#x2F;src&#x2F;jpeg" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;PistonDevelopers&#x2F;image&#x2F;tree&#x2F;f2b86c1ec6d3c...</a>