static object ApplyTo(IFunctionParams <object, object, object, object, object, object> f, ISeq args) => f.Invoke( args.First(), (args = args.Next()).First(), (args = args.Next()).First(), (args = args.Next()).First(), (object[])funclib.Core.ToArray(Ret((args = args.Next()), args = null)));
static object ApplyTo(IFunctionParams <object, object> f, ISeq args) => f.Invoke((object[])funclib.Core.ToArray(Ret(args, args = null)));