Just to bring up a neat point, this doesn't guarantee that the documentation and the code are the same, as you could change code without updating documentation.
A very slick way of enforcing this that I've seen is having actual unit tests in your documentation (and of course a CI tool to enforce that tests pass). This is something that I think is extremely cool about Elixir! It forces you to think about testing, documentation (with ACTUAL examples!!), and the problem you're solving all at once. It's a very neat concept.
https://elixir-lang.org/getting-started/mix-otp/docs-tests-a...