| 57 | YEP it is. In vanilla 5.0 (so that's even WITH caching) |

| 58 | |

| 59 | {{{ |

| 60 | sage: R=Rings() |

| 61 | sage: timeit('ZZ.has_coerce_map_from(3)') |

| 62 | 625 loops, best of 3: 15.9 µs per loop |

| 63 | sage: timeit('3 in R') |

| 64 | 625 loops, best of 3: 6.55 µs per loop |

| 65 | }}} |

| 66 | |

| 67 | so we should definitely test the category of the element. Question is: which |

| 68 | category? Ideals are not in `Rings()` (which are unitary rings), but they are in |

| 69 | CommutativeAdditiveMonoids(). Creation of ideals still works if this works, |

| 70 | though: |

| 71 | {{{ |

| 72 | sage: ZZ.has_coerce_map_from(3*ZZ) |

| 73 | False |

| 74 | }}} |

| 75 | so I'm not so sure if that branch ever essentially gets used. |

| 76 | |