Is a matrix is a linear operation on a vector, does it not make sense to define matrix applicaion: mapply :: Matrix -> Vector -> Vector Then you can define say: rotate90 = mapply rotationMatrix90 v' = rotate90 v Keean.