It may not be a good idea to use haskell but anyway, go ahead.