
Algebraic Terraforming: Trees from Magma - lelf
https://www.fpcomplete.com/user/bss/magma-tree
======
silentvoice
This is really confusing to me. Let's take their definition of a free object:

"A free object over a set forgets everything about that set except some
universal properties, specified by the word following free. _For example, the
free monoid over Integers forgets ... everything else about the Integers
except: they are a set of objects, there is an associative (binary) operation
on Integers, and there is a "neutral" Integer; precisely the universal
properties of monoids._"

This seems to be contradicted by the first statement on the following
paragraph:

 _Now, it turns out that [a] is a free monoid of values of type a. Our first
pass at constructing a free monoid might look something like this_

But values of "type a" do not have necessarily an associative binary
operation, let alone a neutral element. Furthermore by constructing a list of
some type "a" we aren't _restricting_ the type of a to some pre-existing
ambient algebraic structure, we are _creating_ a new algebraic structure
independently of any properties of "a."

Where have I gone wrong here?

