"Why didn't substructural type systems catch on before Rust" is an interesting question I don't know the answer to, and the answer might just be "dumb luck".
I always liked your argument about how ‘the right combination of features’ was pretty important to Rust's success. Like how regions on their own aren't as compelling, and same with uniqueness types.
I can get behind “dumb luck” as well though :)