Earlier quoted context omitted.
As far as fighting the borrow checker goes, how familiar are you with more functional style programming approaches, mainly immutability? I'm extremely new to rust so I don't know if fighting the borrow checker is in my near future or something I will largely avoid.
Mutability makes it worse, but there are at least some issues with borrowing that have nothing to do with mutability. If your experience is with garbage collected languages, I suspect you'll encounter errors that surprise you.
I'm still learning Rust, but I thought the fact that you could have as many immutable borrows as possible would limit what errors the borrow checker could throw at you.