This removes the shift from the defines, and includes them in the helper function, making the code match the documentation, and following how the rest of the library commonly operates. Code using the existing defines will continue to work.