removed IOObjectBinary and reverted to MatBinary and VecBinary.

Explanation: unreliable; I'm not sure how to accurately tell whether an object is a Mat or Vec since ObjectGetType returns things like "MPI", "seq", etc which depend on how you create your matrices and how many processors you use
about to turn MoperatorGeneral into "fill".
successfully separated MoperatorGeneral into "fill" function and main function