IMHO, самое правильное решение такой задачи - внешний инструмент. Люди, которым нужна интроспекция для сериализации и подобных вещей - просто с головой не дружат (не нужна такая фукнциональность в языке, если ее можно реализовать внешним инструментом).