createO ((k,w):xs) !q = createO xs q'
  where
    !pre = O.newPrecedence w
    !v = k
    !q' = O.enqueue k pre v q

----------------------------------------------------------------
createO ((k,w):xs) !q = createO xs q'
  where
    !pre = O.newPrecedence w
    !v = k
    !q' = O.enqueue k pre v q

----------------------------------------------------------------
createO ((k,w):xs) !q = createO xs q'
  where
    !pre = O.newPrecedence w
    !v = k
    !q' = O.enqueue k pre v q

----------------------------------------------------------------