Adding attr.
Making the context a monoid.
Adding a zero-width space.
new implementation of zero.
Changing block to element, as per proper naming.