revised type marking system, data_t and content_t made public