code: def getNodePosition(cls, start, height=None) -> int:
          
          pwr = highest_bit_set(start) - 1
          height = height or pwr
          if count_bits_set(start) == 1:
              adj = height - pwr
              return start - 1 + adj
          else:
              c = pow(2, pwr)
              return cls.getNodePosition(c, pwr) + \
                  cls.getNodePosition(start - c, height)
docs: Calculates node position based on start and height
  
          :param start: The sequence number of the first leaf under this tree.
          :param height: Height of this node in the merkle tree
          :return: the node's position