`evm::caller` leaves caller address on stack which is UB for the current memory model of function arguments