Optimise away one call to caller()