JonChesterfield 11 hours ago

I'm not very convinced by this. The motivation is that some C functions take function pointers without the second data pointer argument passed alongside, but that's been very well known as a class of problems in C for several decades. Hence qsort_r and similar.

C has many syntactic irritations. No multiple value return is the one that annoys me most, leads to spuriously wrapping things in structs. The one where you choose between function and closure explicitly doesn't look significant.