Within a `then` clause of a future, `return new Future.error(foo)` is the same as `throw foo`.