I was trying to understand if the borrow checking mechanism for references is actually a quantitaive type in disguise because it does look very similar. In case these are just similar but unrelated concepts, is there some other type-theoretic foundation upon which the Rust borrow checking mechanism is based?