The tag type 
dangling is used together
with the template aliases 
borrowed_iterator_t and 
borrowed_subrange_t
to indicate that an algorithm
that typically returns an iterator into or subrange of a 
range argument
does not return an iterator or subrange
which could potentially reference a range
whose lifetime has ended for a particular rvalue 
range argument
which does not model 
borrowed_range (
[range.range])
.