Add RecursiveMutex, UnlockGuard, TryLockGuard