private static SchemeError ArityError(string name, string message, int argidx, int given, int expected, Value[] argv) { var arguments = new LinkedList <Value>(); if (given > 0) { var lastidx = argidx + given; for (var i = argidx; i < lastidx; i++) { arguments.AddLast(argv[i]); } } return(new SchemeError(SchemeError.ArityErrorMessage(name, message, expected, given, arguments, null))); }