Mon Apr 20 18:45:01 CEST 2009

update: we're still symbolic

The assembler transformation still uses just lists, however the tags
are now identifiers.

It's still possible to move around tags though, so these aren't
algebraic types.  It would be interesting to see exactly why not.

  * Polymorphy: it's possible to parameterize tags and work with
    instruction prototypes only.  This could be properly abstracted
    into instruction class objects.

  * Non-exhaustiveness: operators act on only a very small portion of
    the possible operations, with the default a simple concatenation.