Why would OOP and functional programming be at opposite ends of a spectrum?
[1] https://docs.scala-lang.org/tour/variances.html
[2] https://reasonablypolymorphic.com/blog/higher-kinded-data/
The two can coexist in one code base but they are fundamentally opposed.