Внимательно посмотрел на концепты, и не понял какую проблему они решают. С теми ошибками, которые они генерируют (новые концепты это информативный "Foo type is not YourConceptType", старые это полотно, которое на 95% состоит из ненужного текста), проще повесить дженерик и в CT узнавать, какой именно процедуры у твоей структуры не хватает