public boolean postMortem(PostMortem pm) {
        MapKeep that = (MapKeep) pm;
        if (this.length != that.length) {
            JSONzip.log(this.length + " <> " + that.length);
            return false;
        }
        for (int i = 0; i < this.length; i += 1) {
            boolean b;
            if (this.list[i] instanceof Kim) {
                b = ((Kim) this.list[i]).equals(that.list[i]);
            } else {
                Object o = this.list[i];
                Object q = that.list[i];
                if (o instanceof Number) {
                    o = o.toString();
                }
                if (q instanceof Number) {
                    q = q.toString();
                }
                b = o.equals(q);
            }
            if (!b) {
                JSONzip.log("\n[" + i + "]\n " + this.list[i] + "\n "
                        + that.list[i] + "\n " + this.uses[i] + "\n "
                        + that.uses[i]);
                return false;
            }
        }
        return true;
    }