This LGTM, thank you!
I have a few further suggestions while you are already cleaning things up. If you like them feel free to commit without updating the review.
Can be FI
I'd either change the FI above to FramePointerFI or change this BasePtrFI to FI. I'd lean towards the first choice, as I think the scope for the if gives enough context.