Language changes: pure is gone, deriving_eq => deriving(Eq)