Double rotate works correctly but it does an extra rotate on the way up from recursion