What's the current internal documentation story?

I would like to document the internals of my crate such that other people would have an easier time understanding how it works. From a bit of searching it looks like rustdoc still has a few knicks when it comes to that use case. Is there a recommended way to approach this?

Despite its limitations, rustdoc is still probably the way to do it.

If you need to add prose, you can do it in module-level documentation (//!, /*!). There’s also unstable #[doc(include = "external-doc.md")].

You may need to teach users to use --document-private-items flag when generating the docs.