{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreidou7qauwy3u6de2zmdeqoelumpkp42ybippyeqkch64rbfbhd4p4",
    "uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mnajmy3nf752"
  },
  "path": "/t/homomorphic-static-analysis/14146#post_16",
  "publishedAt": "2026-06-01T15:45:47.000Z",
  "site": "https://discourse.haskell.org",
  "textContent": "Yes, after the feedback here it seems relatively clear that Arrows are fundamentally sequential and for truly parallel diagrams I am on the look out for other solutions and the most convenient syntax for them. It seems plausible to me that compiling into a bicartesian category like overloaded does is the right approach. Next question is which bullet to bite syntax wise. A plugin makes sense. “Compiling to categories” would be an option. But of course not requiring any of them would be nice: I am still pondering whether it might be possible to use something like the trick in linear-smc to actually use vanilla arrow syntax to write bicartesion categories.\n\nI am not super happy that all bicartesian categories I can find on hackage have type parameters for products and coproducts instead of hardcoding (,) and Either.",
  "title": "Homomorphic static analysis"
}