Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
This comment is hidden because it contains spoiler information about the solution
Ummm... the Writer monad exists and any list is a monoid so "DescriptionStore r" is isomorphic to "([String], r)". You don't even need to import anything other than Prelude to use the latter as a monad.
But I like your approach (porbably because I had a similar idea, lol).