namespace Invercargill { [GenericAccessors] public interface Addressable : ReadOnlyAddressable { public abstract void @set(uint index, T item) throws IndexError; public virtual void set_all(uint first_index, Enumerable items) throws IndexError { uint pos = 0; foreach (var item in items) { set(pos, item); pos++; } } } }