new def of iso, stuck in functors_trans