Did you say "I'm documenting each function with a haddock comment" ? I think that's a good idea. I do the same. They are not hard to keep current, just re-check the doc after working on a function.