holy crap
this is my attempt to do some stuff on
http://learnyouahaskell.com/functors-applicative-functors-and-monoids
maybe I am just bad at SML and there is a better way to do this
but probably not
holy shit *mind blown*