Exactly - Apple hardware is designed for its software, and vice versa. They get battery gains across the stack.
I remember when the M1 Macs first came out, an Apple engineer revealed they'd optimized the hardware so one specific low-level operation macOS does all the time was 5x faster than on Intel [0].
The team I was teaching struggled with the concept of streams and reactivity. It's kind of like programming backwards, especially if you're used to an imperative mindset. They just had a hard time with the concept of a stream.
They also had a tough time remembering all the operators in the library.
The operator chains remind me of RxJS. Which is great! I love reactive programming. But speaking as someone who spent two years teaching RxJS to a team of frontend newbies, the learning curve is brutal.
(Please do not reply with "I found RxJS easy". Good for you.)
I remember when the M1 Macs first came out, an Apple engineer revealed they'd optimized the hardware so one specific low-level operation macOS does all the time was 5x faster than on Intel [0].
[0]: https://daringfireball.net/2020/11/the_m1_macs