def type_arguments
      skip_whitespace

      # First argument is required
      return false unless alteration_type

      skip_whitespace

      # Go through additional arguments, separated with ","
      while @input.check(/,/)
        @out << @input.scan(/,/)

        skip_whitespace
        return false unless alteration_type
        skip_whitespace
      end

      true
    end
def type_arguments
      skip_whitespace

      # First argument is required
      return false unless alteration_type

      skip_whitespace

      # Go through additional arguments, separated with ","
      while @input.check(/,/)
        @out << @input.scan(/,/)

        skip_whitespace
        return false unless alteration_type
        skip_whitespace
      end

      true
    end
<type-arguments> ::= <alteration-type> [ "," <alteration-type> ]*