public Environment(Environment outer, Types.Expression binds, Types.Expression exprs) { _outer = outer; for (var i = 0; i < binds.Size(); i++) { var sym = ((Types.Symbol)binds.Nth(i)).GetName(); if (sym == "ampersand") { _data[((Types.Symbol)binds.Nth(i + 1)).GetName()] = exprs.Slice(i); break; } else { _data[sym] = exprs.Nth(i); } } }