first property
override
    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
@override
E get first {
  if (isEmpty) {
    throw _noElements();
  }
  return elementAt(0);
}