Making it easier to implement futures