How in the world to C people cope with the lack of generics or higher-order anything.

"There's 5 types, and they go from one type to another type. That's 5 x 5 combinations with no repetitions, guess I'm just gonna add that. Then there's 3 error handlers, so you need to do 5 x 5 x 3. And then there's a few sub-genres, so that's 3 x 3 x 3 to add on,"

Maybe this is why all the C interfaces are untyped and unsafe. Doing it any other way is basically like loading up a combinatoric shotgun and flipping it around to point at your own chest.

@thephd

@yosh and I are currently asking the Rust community the same questions around

`map`, `try_map`, `async_map`, `async_try_map`, `const_map`, `const_try_map` (thankfully there's no need for `async_const_map` or `async_const_try_map`)

And similar fun things (`get` and `get_mut` anyone?).

@oli @thephd @yosh *Haskell stans smirking smugly* 😅
@evntdrvn @thephd @yosh yea 😆 we're aware. But monads are probably a case of "the cure is worse than the disease" for Rust

@oli @thephd @yosh oh I totally get it, I was just joking :)

It reminds me of the discussions and decisions that @dsyme has made around user requests for typeclasses/HKTs in F#, and maintaining the spirit/essence/focus of a language—in that case, pragmatism rather than “category theory elegance/expressiveness above all else”
See e.g. this summary comment they made https://github.com/fsharp/fslang-suggestions/issues/243#issuecomment-916079347

Support type classes or implicits · Issue #243 · fsharp/fslang-suggestions

NOTE: Current response by @dsyme is here: #243 (comment) Submitted by exercitus vir on 4/12/2014 12:00:00 AM 392 votes on UserVoice prior to migration (Updated the suggestion to "type classes or im...

GitHub