Indeed, this is a bit confusing. In the lecture, we talked about the list functor as `ListF a x = NilF | ConsF a x`. It is actually a bifunctor, so its fixed point is a functor in `a`. The starting point of the exercise can be written as `List a = Nil | Cons a (List a)`, so you may think of it as the fixed point of `ListF`. `List` is a functor, so you can define an algebra for it: `alg :: List a -> a`. It is also a monad, so you can define a monad algebra for it, which is just an algebra with additional laws. These laws make the set `a` into a monoid, with unit `alg Nil` and multiplication `alg (Cons x (Cons y Nil))`.