code: private Icer<D> icer() {
      int id = _ice_id;
      int tyid;
      if(id != 0) assert id == (tyid =TypeMap.onIce(this)):"incorrectly cashed id " + id + ", typemap has " + tyid + ", type = " + getClass().getName();
      return TypeMap.getIcer(id!=0 ? id : (_ice_id=(short)TypeMap.onIce(this)),this); 
    }
docs: Return the icer for this instance+class.  Will set on 1st use.