Add support for string types.  Refactor the tagged module a little.