a more powerful thunkify