>>6 The problem is Haskell lego blocks are enterprisey,generic and inefficient which makes programs using them slow and wasteful of memory. Same pattern with C macros would compile to efficient assembler because macros are zero-cost abstractions and C would allow to insert special case code instead of a "lego block" anywhere.