This state cannot be reached unless someone casts the `Future` returned by `Future.flatMap` into a `Promise` and then completes that `Promise`.

An alternative way to handle the problem of linking two completed promises would be to return a boolean expressing the linking result and let the caller (only `Future.flatMap`) handle the situation. However, lacking any use-case for recovery at the moment, my preference is to fail at the point the problem is discovered as this completely eliminates the possibility of forgetting to handle the problem.