This means `cpp11::r_vector` can break otherwise valid generic code, since `LegacyInputIterator` is required to be const dereferencable. ```r cpp_function('void fail(cpp11::integers ints) { const auto it = ints.begin(); *it; }', quiet = FALSE) #> error: passing 'const cpp11::r_vector<int>::const_iterator' as 'this' argument discards qualifiers [-fpermissive] #> return *it; #> ^~ ```