adapt x3::attr