I wonder if there is already a function like layer
but with cat instead of stack? I searched for a function like this:
dispersion :: [a -> Pattern b] -> a -> Pattern b
dispersion fs p = cat $ map ($ p) fs
But I don't know whether this function already exists and whether it's undocumented?
Example:
drawLine (dispersion [fast 2, rev, id] $ "[1 2 3]")
-- |123123|321|123|123123|321|123|