Seol mar théacs é seo: Type theory as a framework for modelling and programming