If we add an expectation that recursive and simple mutexes can be (un)locked in the same way, we can remove the function aliases without incurring the useless duplication.
The only target that would be affected is mach cthreads since it allegedly doesn't support recursive mutexes natively. I don't think it exists as a viable target any more (for instance, there is hardly any documentation to be found about it), so I'm inclined to stop supporting it anymore.
So the proposed way to deal with it would be as follows: 1. Remove mach cthreads support 2. Remove the type distinction between the mutex types and drop recursive mutex (un)locking functions 3. Update accesslog to use the above 4. Drop rmutex.c
Any objections?