Conveyor<F, O2> tryOrDie<O2>(Conveyor<F, O2> p()) { try { return p(); } catch (err) { return kill<O2>().onHalt((err2) => halt<F, O2>(err).plus(halt(err2))); } }