Projektēšanas šabloni ir nepieciešami jebkurā netriviālā programmatūras projektējumā, bet to izmantošana bieži ir saistīta ar pārmērīgu sarežģītību. Uz šabloniem balstītu risinājumu sarežģītība var būt raksturīga un atbilstoša problēmai, bet citos gadījumos tā kļūst pārāk augsta. Šādos gadījumos projektēšanas šabloni rada sarežģītību, nevis to savalda. Šis darbs izpeta vienu no iespējamajiem iemesliem tam, proti programmēšanas valodu nepietiekamo izteiksmību. Mazākas izteiksmības dēļ programmēšanas valodās ir grūti attēlot domu konstrukcijas, kuras kodē šabloni. Risinājums piedāvāts šajā darbā ir vispārinot tipiskas programmēšanas valodu konstrukcijas. Vispārinājums tiek panākts, aprakstot pašas šādas konstrukcijas kā šablonus. Turpmāka formalizācija, izmantojot tipu teorijas rīkus, piešķir šiem šabloniem nepieciešamo stingru formu. Autors piedāvā šādu šablonu kopu un to formalizāciju elementārām datu salikšanas un skaitļošanas konstrukcijām. Šādu izmaiņu ietekme tiek analizēta, izmantojot MIX iedomātā datora emulatora piemēru. Šis paraugprojekts parādīja, ka pat tik izteiksmīga valoda kā Scala noteiktās situācijās nav ērta. Šajā darbā tiek apspriests, kā šī projekta īstenošana un attīstība varētu būt vienkāršāka, ja aprakstītie šabloni būtu atbalstīti. Promocijas darbs ietver ievadu, sešas nodaļas un noslēgumu. Tajā ir 148 lappuses neieskaitot pielikumus, 23 attēli, trīs tabulas, 128 bibliogrāfijas avoti un divi pielikumi.