I just added a 41CX to my collection and am learning what it can do. It's a fun thing, and I'm having a good time.
One thing I've tried to do is to come up with a scheme whereby some sort of small, always-resident program could swap other larger programs in from extended memory, execute them, and delete them. Of course, I've read the manual about GETP and GETSUB and experimented with both. Am I wrong or does GETSUB inevitably add a spurious END above/before the target function every time, which you can't get rid of except by finding it in catalog 1? Doesn't this make the function just about useless in as much as every call leads to a wasted register?
What am I missing? I imagine there's a way to get rid of the extra END via synthetic programming, but one should not have to resort to an outside-the-box solution for this behavior of a standard function.