It's common for Haskellers to have combining functions where the
arguments to each combinator changes the overall type. Writing out
combine x (combine y z)
gets old, and the heterogenous types means
that we can't use a simple foldr
/foldl
, so we invent e.g. x % y % z
. The problem with this for me is that it introduces its own
redundancy and viewing/editing overhead.