+Adding a language construct is as simple as adding a type class.
+Adding an interpretation is done by creating a new data type and providing implementations for the various type classes.
+
+\todo[inline]{Is dit niet de plek om uit te leggen welke restricties we aan mTask opleggen om het op een edge device te kunnen draaien?
+ 1 onderscheid tussen mTask en de rest van het programma
+ 2 mTask uit kunnen voeren zonder heap gebruik anders dan de task expressie. Dus:
+ a geen recursieve data types
+ b geen hogere orde functies
+ c strict evaluation
+ d functies en objecten alleen op topniveau
+Nu lijkt het af en toe dat mTask onnodig primitief is, terwijl we het ook algemener hadden kunnen doen.}