{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreihjagfbvyjpjupdyqtagmrdnnwiqafgu57ffm2ghlq67k4ohkqm7q",
    "uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mm7xrsafq262"
  },
  "path": "/t/pre-rfc-improved-ergonomics-for/24336#post_11",
  "publishedAt": "2026-05-19T16:19:55.000Z",
  "site": "https://internals.rust-lang.org",
  "textContent": "I don't see why _any_ concrete type, whether `!` or `()`, avoids the mapping problem. Is it that you'd normally want to map `!` to `()` in your use cases?\n\nMusicalNinjaDad:\n\n> relying on `Try` doesn't add any real complexity IMO. It's the equivalent of `.map(|x| try { x? })` rather than `.map(|x| x)`.\n\nAh, and since `Try` is less magical than coercions, this looks like it can be implemented with a trait and blanket impl instead of compiler magic. Perhaps you could try making a (likely-nightly-only) crate with a `map_try` method?",
  "title": "Pre-RFC improved ergonomics for `!`"
}