work with GHC 7.8