Try<T> recover<E extends Exception>(final Recovery<T> recovery) { return _copyWith(recoveries: Map.from(_recoveries)..putIfAbsent(E, () => recovery)); }