compiles with ghc 7.8.3