Creator of scriptum, an extended Hindley-Milner type validator for JS and a functional lib based upon it: Github
Type Class :: Generalize :: Behavior
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Monoid :: append* :: concatenating/accumulating, picking*** of values
Functor :: map :: lifting (into a structure/context)
Applicative :: zipWith :: zip several liftings
Monad :: flatMap** :: joining (two structures/contexts)
Alternative :: logical or :: picking a structure/context w/o looking at its values
*concat in JS
**with id (x => x) as supplied function
***concatenating/picking are two intuitions of the same broader concept