let compare x1 x2 =
    match x1, x2 with
    | Iof (c1, j1), Iof (c2, j2) ->
        let cmp = Pervasives.compare c1 c2 in
        if cmp = 0 then Pervasives.compare j1 j2
        else cmp
    | Size c1, Size c2 -> Pervasives.compare c1 c2
    | Iof _, Size _ -> -1
    | Size _, Iof _ -> 1