Many of these arguements are moot – because for any top-down function definition technique, the How to Design Programs recipe covers virtually all the bases.
- https://course.ccs.neu.edu/cs2500f18/design_recipe.html - https://cs110.students.cs.ubc.ca/reference/design-recipes.ht... - https://docs.racket-lang.org/htdf/index.html
Between a signature, purpose statement and examples, you've declared most of what documentation provides short of a longer contextual statement of the functions role in a codebase.
For larger modules there is How to Design Worlds.