Самая близкая вещь, о которой я могу подумать, это F # TypeProviders. Он позволяет коду провайдера быть частью конвейера компилятора и создает типы для внедрения.
Например, есть провайдер типа XML:
type Author = XmlProvider<"""<author name="Paul Feyerabend" born="1924" />""">
let sample = Author.Parse("""<author name="Karl Popper" born="1902" />""")
printfn "%s (%d)" sample.Name sample.Born
Подробнее см. FSharp.Data project .