restoring cic,cif,ric and rif to return the exact target type