Make Futures more explicitly typed