LOlou1306·Feb 15, 2021
Have you taken a look at FSharpPlus [0] ? It attempts at... "reproducing" higher-kinded polymorphism by means of abstract classes and operators for Functor, Monad, Applicative, and so on. It's a bit clunky (and if compilation goes wrong, you may get some epic-length error messages), but when you set up your tipes just right, it's pretty magical.
[0] https://github.com/fsprojects/FSharpPlus
In Introduction to the 'Why use F#' series (2012)