https://en.wikipedia.org/wiki/Lambda_calculus
https://en.wikipedia.org/wiki/Simply_typed_lambda_calculus
https://en.wikipedia.org/wiki/System_F
https://en.wikipedia.org/wiki/Lambda_cube
https://en.wikipedia.org/wiki/Calculus_of_constructions
^ I'm currently trying to decipher this
https://wiki.haskell.org/Monad
useful links in there
http://learnyouahaskell.com/
Learn Haskell from the basics
https://robkuz.github.io/Higher-kinded-types-in-fsharp-Intro-Part-I/
(F#'s syntax is self-explanatory)
https://www.cl.cam.ac.uk/~jdy22/papers/lightweight-higher-kinded-polymorphism.pdf
(gonna need some OCaml for this)
https://gcanti.github.io/fp-ts/
(great implementation of the above, the source is a good resource but TS takes some time to get used to)
https://en.wikipedia.org/wiki/Kind_(type_theory)
(for completeness' sake)