understanding twice optional
filter
simple pattern match
reverse
and understand what was meant by this test
that's easy
but that's easier
more functor
function composition is fmap on reader functor
definition of void
apply instance for id
apply for list
define in terms of fmap
apply for list
must be a better way
apply instance for reader.
lift 2
lift3
lift4
right apply