 
   moveUp: (idx) ->
     store = @_store
-    if @_comparator(val = store[idx], store[par = @parentIdx(idx)]) #(val = store[idx]) > store[par = @parentIdx(idx)]
+    if @_comparator(val = store[idx], store[par = @parentIdx(idx)])
       store[idx] = store[par]
       store[par] = val
       @moveUp(par)

  rightChildIdx: (idx) ->
    2 * idx + 1

module.exports = PriorityQueue

  moveDown: (idx) ->
    store = @_store
    lci = @leftChildIdx(idx)
    rci = @rightChildIdx(idx)
    if store[rci]? and ! @_comparator(store[lci], store[rci])
      child    = store[rci]
      childIdx = rci
    else
      child    = store[lci]
      childIdx = lci
    if child? and ! @_comparator(val = store[idx], child)
      store[idx]      = child
      store[childIdx] = val
      console.dir [idx, val, childIdx, child]
