implemented immutable functions through forM_. Moved mix to after construction to better preserve boxing
zipWithN, izipWithN