For me it’s time signatures in music. I grew up playing instruments, played in several orchestras, etc. But no matter how many times someone tries to explain time signatures to me, it makes no sense. I don’t understand why people place such importance on it. To me, notes have a pitch and a duration, maybe some dynamics. That’s it. I don’t understand why people try to needlessly complicate it. It doesn’t give you anything.
My wife will hear a song and go “Oh neat, it’s in 5/8.” And I’m like “How tf do you know that, and why does it matter?”


I’m curious if it’s the whole shebang or there are some aspects you do okay with. Immutability, higher-order functions, partial application, recursion, closures, pattern matching, tacitness, etc. I can also recommend not starting with Haskell. It’s a bit much.
I actually spent some time thinking about this. I guess it’s because I was a developer for 17 years before I ever heard about lambda calculus or functional programming, and it was really difficult for me to wrap my brain around it.
I like immutability, and discriminated unions, and I can handle monads, but a lot of the rest of it gets too far into the weeds for me. Writing a function that is just a single return statement that chains together a bunch of map and reduce calls just doesn’t click for me.
“If it compiles, it works.” Yeah, I’ve never found that to be true. And don’t get me started on how you can’t debug chained calls when something inevitably goes sideways.
Once I heard someone say “a monad is a monoid in the category of endofunctors” I was officially out. No thanks. Not for me.