Topic/basic property tables

From the main commit:

```
This commit tries to start writing some documentation around
how the algebraic structures work and their relationship to
each other. It is very rough but hopefully moves us in the
right direction.
```

I'm not sure this is 100% good in terms of pedagogy but hopefully
it is better than nothing. Maybe using the infix notation is a bad
idea but I tried it with function syntax and found the laws very
difficult to read and reason about.
do you want to put this above the types? If you are familiar, you read it quickly, if you are not, the above is really confusing.