def list(type, sym, count: nil)
      if count
        raise BadCountError unless count.positive?
      end

      @expected << [:list, type, sym, count]
    end
def list(type, sym, count: nil)
      if count
        raise BadCountError unless count.positive?
      end

      @expected << [:list, type, sym, count]
    end
Specifies a list of arguments of a given type to be parsed.
 @param type [Symbol] the type of the arguments
 @param sym [Symbol] the name of the argument in {results}
 @param count [Integer] the number of arguments in the list