Change Recover() to Recover(fn ...func())