bypass unneeded size and isRed calls in put