Looks like I have a pretty clear understanding what a Monoid is in Haskell, but last time I heard about something called a free monoid.

## If a data structure is foldable, is it a monoid?

Obviously, if a data structure is a monoid, it's foldable, but is it safe to say if a data structure is foldable, it's a monoid?

## Why is Maybe's Semigroup instance biased towards Just and the Monoid uses Nothing as its empty element?

Maybe expresses computations that might not produce a result due to an error. Therefore such computations must be short circuited.

## How is “a monoid on applicative functors” different than “a monoid in the category of endofunctors”?

Perhaps neither of these statements are categorically precise, but a monad is often defined as "a monoid in the category of endofunctors"; a Haskell Alternative is defined as "a monoid on applicative functors", where an applicative functor is a "strong lax monoidal functor". Now these two definitions sound pretty similar...