> Interface informality is the root cause of unsafety
I feel this frequently with C. I would love to formalize pointer use in interfaces. But Xr0's proposed syntax is clunky and not backward-compatible.
void foo(int* x) ~ [ free(x); ];
Yikes... Why not // <xr0.h>
#ifndef __XR0__
#define freed
#endif
// my code:
void foo(int* freed x);
Boom. Looks clean, easily readable, backward compatible with standard compilers.