Обычно это отдельная опция, доступная через вызов другой функции. Даже тогда это не «обнаружено», это просто «разрешено».
Иногда вы ХОТИТЕ, чтобы блокировка была рекурсивной. Иногда вы не хотите, чтобы блокировка была рекурсивной. Любое решение, которое вы придумали без явного разрешения обоих условий, не будет работать универсально для каждого доступного решения мьютекса, если вы не наложите некоторые ограничения, которых нет в библиотеках, которые вы будете упаковывать.