Preserve value/error on Watcher::current promise