Всё по теме Dependent Types