but what if your prototype leads to a function pointer that gets borked partway through
Sounds like you're talking about bugs, resource problems and other real-world considerations. Those are implementation issues, not algorithmic issues, and determinism is a property of algorithms.
So yes, those are irrelevant. I never said they were.
As for reference material, I often wrongly assume everyone went through comp sci.
I have a B.CS. The course in which this was taught had a very boring teacher. I needed a booster.