def parse_list!(type, sym, count)
      args = if count
               @args.shift count
             else
               @args
             end

      @results[sym] = Parser.parse_list type, args
    end
def parse_list!(type, sym, count)
      args = if count
               @args.shift count
             else
               @args
             end

      @results[sym] = Parser.parse_list type, args
    end
Parse a one or more expected arguments of a given type and add them to
  the results.
 @param type [Symbol] the type of the individual elements of the list
 @param sym [Symbol] the key to store the results under in {results}
 @param count [Integer, nil] the size of the list, or nil if the list
  absorbs all following arguments
 @api private