You should look into the suggestions I gave you in Borrowing issue, trying to avoid redundancy - #2 by vitalyd. Specifically, #2.
Instead of having “one big self” container of data that you borrow from, borrow from the individual fields. You may need to move some fields into their own smaller data types to organize it in a borrow-conducive manner.