I'm not sure. Leaving it like it is means that the sameThreadExecutionContext acts more like any other EC in that it won't interfere with the calling code, i.e. I don't think Future(myCode)(ec) should ever throw exceptions caused by myCode.