tag typesystem improvements