I have a weird problem trying to call code located in an arbitrary memory address (RP2040). I am getting the address, creating a `*const fn()`, converting it to a ref and then just calling it normally, i.e. `func()`, where `func` is a `&fn(...)`. Somehow, when I look at the produced assembly code, I see: ```asm ldr r0, [pc, #0x94] ldr r1, [pc, #0xac] ldr r5, [r0, r1] ``` where `[r0, r1]` does indeed point to the function, but why is it trying to read the actual function code to r5? Unless I'm misreading something, it should be loading r0 + r1 into it and then branching (which it does below).