The mutex is recursive again: this makes some things easier after all and covers ahrd to fix edge cases