in haskell again, can't make up my mind quite yet