as usual, ghc 7.6 dislikeds the family keyword for associated types