Interfaces - the Golden Path of Haskell?