Removing superfluous typedefs
Adding special case when future is already ready.
Cleaning up broadcast, non-void result case is now handled properly as well, adding partial preprocessing, etc.