Yeah, I need to figure this out.

I think there are some cases where I'm doing allocation and some cases where I'm not. One of my concerns is that I need a way to signify to clients "don't touch this". `const` is usually a good way to do that.

That said, C usually calls for defeating the type system on a regular basis. Maybe a comment will be enough.