>>20
It's funny you'd bring up sentinel values and C in particular. C has very good reasons for using 0-based arrays. C has just such a function you describe, but it just returns a pointer into the array like a responsible adult. Your language doesn't have pointers?
Some(x) | None | Bust.
Seriously though, this in-band signaling BS is only good as a feat of engineering. You don't want to
have to do that in your language.