> ah I get it – there's no canonical way of defining a product of Maybes. you have choose one (First or Last).

It's a little trickier than that, sadly.

For instance, while `Maybe a` is not necessarily a monoid, `Maybe [a]` *is*.

Feel free to check in the interpreter, but we have:

$$
(\textsf{Just}\; a) <> (\textsf{Just}\; b) \cong \textsf{Just}\; (a ++ b)
$$

So we have that `Just :: [a] -> Maybe [a]` is a semigroup homorphism...