Hi,
These days I find the notion of "inverse function" might be useful,
the basic idea is to keep a pair of function f and g which are the inverse functions of each other
I think this is an interesting idea and want to share it with you.
Advice and comments are welcomed and appreciated since I learn haskell through LYAH and some wiki pages
and still not sure about what would be the most idiomatic way of doing it in haskell.
Thanks,