code: private Tuple<Identifier> parseLifetimeArguments(EnclosingScope scope) {
  		boolean firstTime = true;
  		ArrayList<Identifier> lifetimeArgs = new ArrayList<>();
  		while (eventuallyMatch(RightAngle) == null) {
  			if (!firstTime) {
  				match(Comma);
  			} else {
  				firstTime = false;
  			}
  			// termindated by '>'
  			lifetimeArgs.add(parseLifetime(scope, true));
  		}
  		return new Tuple<>(lifetimeArgs);
  	}
docs: Parse a sequence of lifetime arguments separated by commas that ends in a
  right-angle:
  
  <pre>
  LifetimeArguments ::= [ Lifetime (',' Lifetime)* ] '>'
  </pre>
  
  Note, when this function is called we're assuming the left angle was
  already parsed.
  
  @param scope
  @return