Recall that the monad List: \\(Set \rightarrow Set\\) that sends a set X to the set of lists of elements of X, whose multiplication flattens a list of lists, and whose unit takes an element \\(x \in X\\) to the singleton list [x] \\(\in\\) List(X).

(a) Given a List-algebra \\(a: List(X) \rightarrow X\\), construct a monoid on the set X.

(b) Given a monoid (X,*,e), construct a list algebra

(c) Show that your two constructions are inverses (we hope they are!)

(a) Given a List-algebra \\(a: List(X) \rightarrow X\\), construct a monoid on the set X.

(b) Given a monoid (X,*,e), construct a list algebra

(c) Show that your two constructions are inverses (we hope they are!)