How does one get familiar with these kind meta programming concepts.
Is there some kind bible or series one can read to get up to speed?
I would start with http://learnyouahaskell.com - Its Haskell based but it covers them pretty well.
Otherwise I use https://typelevel.org/cats/ for Scala daily and they have an _ok_ guide. But the best guide I've found for it was http://eed3si9n.com/herding-cats/
Alternately, "Learn You a Haskell" will provide a decent base.
Either of these will give you the base needed to explore higher-level concepts that can easily be used in Haskell, Scala, Purescript, OCaml, a few statically-typed functional languages, and to some extent, Rust.