More globally stable way of doing value operations without shifts (should be squished before merge)