first property
override
Returns the first element.
Throws a StateError if this is empty.
Otherwise returns the first element in the iteration order,
equivalent to this.elementAt(0).
Implementation
E get first {
  if (length == 0) throw IterableElementError.noElement();
  return this[0];
}override
Updates the first position of the list to contain value.
Equivalent to theList[0] = value;.
The list must be non-empty.
Implementation
void set first(E value) {
  if (length == 0) throw IterableElementError.noElement();
  this[0] = value;
}