more ambitious future syntax using do-blocks