Move mutually recursive types into Types.hs