Don't get me wrong, types are an important part of Haskell. They're probably a significant chunk of the reason Haskell exists, since that is what separates the ML family from Lisps (again, more-or-less).
Types are, however, irrelevant to Haskell's relationship to category theory, which is more-or-less the topic under discussion. Haskell needs monads in order to do stateful things like IO, that are necessary for a programming language but a thorn in the side of lazy languages which don't have an easily defined execution order.
Category theory's importance to Haskell and vice-versa have nothing to do with Haskell's type system and much more to do with the fact that it is a lazy functional programming language. In fact, one of the weaknesses of Haskell's type system is that it can't enforce the "monad laws" when you give an implementation of the monad typeclass.