Wrap timeouts around anything, to fail fast and/or keep user-facing code responsive.