It writes the whole thing as one vector, should we require the caller to reshape to clearly identify it as a vector? Then anything with multiple columns could be written as a matrix (e.g. by internally calling sparse()).