I was thinking about a convenience function for concurrency with
runWorkerTask(..) and tuples

Sometimes, you only want to get some data from a database or a remote
host concurrently because they're blocking operations (think
simultaneous downloads vs sequential), but you don't want to write the
boilerplate to make it isolated or to receive the info. This solution
would be the concurrently function

void RequestHandler(HTTPServerRequest req, HTTPServerResponse res){

	alias ConcurrTuple = Tuple!(string, "name", bool, "auth" 

Variant[Variant], "dbrow");

SomeController ctl;
auto obj = concurrently!ConcurrTuple(
	{ return redis.get!string("name"); }
	toDelegate(&ctl.isAuth),
	{
		auto conn = pdb.lockConnection();
		auto cmd = new PGCommand(conn, "SELECT * FROM users WHERE userid=" ~ 

params.uid);

auto result = cmd.executeQuery;
return result;

});
// unblock here

auto name = obj.name;
auto authentified = obj.auth;
auto userInfo = obj.dbrow;
}

The concurrently function would take care of scanning the delegates for
closures and making them isolated, then run the worker tasks and join them.

Does this seem do-able / practical to anyone else too?