% gather - make big array of all arrays in a sequence
%
% gather :: N:natural, seq [D] -> [E], seq [D].
% gather :: 
%    N:natural   ~'the dimension along which to collect arrays',
%    seq [D]    ~'the seq to gather',
%    options {
%       draw   :: boolean /0    ~'whether or not to call plotfn every iteration';
%       plotfn :: seq [D]->handle ~'plotting function';
%       save   :: natural /0    ~'if >0, then save state every this many interations';
%       recover:: boolean / 0   ~'if 1, then attempt to restart from saved state'; 
%       id     :: string  /'@gather' ~'file to save state'
%    }
% -> [E], seq [D].
%
% E is such that E(I) = D(I) if I~=N. The second return
% is the final object in the sequence
function Y=gather(dim,X,varargin), Y=gathern(dim,inf,X,varargin{:}); end
