Prefix operator++ should return the iterator incremented by reference.
No crashes this time 🙏, just happened to notice it with @baloghadamsoftware.
Actually I was debugging thru iterator-related code and was making assumptions on the signature of operators.
Then I noticed the assymetry of return types in case of operator++ (fundamental types have ref return values in prefix case, but the simulator header did not for iterators).
Note that the libc++ implementation uses reference return types:
So does the libstd++ implementation: