domain :: Finite a => [a]domain = toList . execWriter . assemble $ tell . return
toList
If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org
Other options:
no subject
domain :: Finite a => [a]
domain = toList . execWriter . assemble $ tell . return
Where
toList
is from DList and brings the runtime down to O(n) instead of O(n^2) due to the writer monad always appending to the right.