Does Haskell naturally break off into multi-tiered development?

It seems that Haskell's ethic for putting a gate between I/O and its referentially transparent and strongly-typed functions means that the concept ofmulti-tiered architectures is something of a no-brainer.

There are a few web frameworks and web apps in Haskell - HApps, Flippi... do these map naturally and easily onto multiple tiers?