> I haven't fully learned Rust yet but from what I understand, the borrow checker only applies to mutable data
This is not correct. The borrow checker applies to references, both mutable and immutable.
This is not correct. The borrow checker applies to references, both mutable and immutable.