The zero operator maps any function to the zero function (which maps
anything to zero). To test for something being zero, use
spray::is.zero(); package idiom would be is.zero().
Function zero() takes a single argument which is interpreted as
the dimension of the result. So zero(dim(a)) returns
a*0 (but is faster).