function Y=returns(I,F,varargin)
% returns - Evaluate function and return multiple values in cell array
%
% returns ::
%    I:[[M]->[N]]                       ~'M numbers between 1 and N',
%    (A(1),...,A(L) -> B(1), ..., B(N)) ~'function with L in and N outputs',
%    A(1), ..., A(L)                    ~'arguments for function'
% -> cell { B(I(1)), ..., B(I(M)) }     ~'selected returns in a cell array'.

Z=cell(max(I),1);
[Z{:}]=F(varargin{:});
Y=Z(I);
