This should be Future.exception(e) right? otherwise we can't distinguish absent keys.