* 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(<arguments>)`, 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 further ahead). This instruction also seems to produce a hard fault (why?)