Kaveh,

      Maybe I am misguessing why you are asking your question, but wouldn't it be better to ask how to map these Haskell concepts to CLR? If so, check out work on Mondrian.

Vasili