Como adicionar metadados ao System.Type?

Eu tenho trabalhado em uma linguagem, mas em termos de integração com .NET, só consegui fazer com que tipos primitivos funcionassem até agora. Ontem à noite, tive uma boa ideia - em vez de tentar descobrir qual é a exataSystem.Type Para tuplas, módulos e funções devem ser durante a digitação, o que eu poderia fazer é obter oSystem.Type doSystem.Object e adicione alguns metadados que correspondem aos meus próprios tipos de idiomas complexos. O que importa não é exatamenteSystem.Type Eu adicionaria os metadados a, mas cada um dos substitutos para os tipos no meu idioma é distinto um do outro.

A razão pela qual preciso disso é que estou usando as funções do namespace de reflexão para integração que envolve malabarismoSystem.Types.

type SpiralType =
    | IntT
    | StringT
    | TupleT of SpiralType list
,

Como exemplo, o que eu gostaria de adicionar aoSystem.Type seriam as instâncias do tipo de união discriminada em F # acima para garantir a exclusividade.

Qual seria a melhor maneira de fazer isso?

questionAnswers(1)

yourAnswerToTheQuestion