Earlier we implemented fmaap as:
fmaap f = bind (\a -> reeturn (f a))
This is in the same shape as this snippet from `filterM`:
bind (\xs' -> reeturn (if b ...))
So we should be able to replace that bind/return with `fmaap` by using `(if b...)` as `f`.
I tend to think about this as unwrapping the monad value, applying the function, then re-wrapping using `return`. In those cases we can just map the function inside instead of using bind/return explicitly.
Hope this gets you un-stuck. Let me know if you'd like a break down of the steps to get it to `fmaap`.
Cheers,
David