-There are at least 13.4 billion devices connected to the internet at the time of writing.\footnote{\url{https://transformainsights.com/research/tam/market}, accessed on: \formatdate{13}{10}{2022}}
-Each and every one of those devices senses, acts, or otherwise interacts with people, other computers, and the environment surrounding us.
-Even though there is a substantial variety among these devices, they have one thing in common: they are all computers to some degree and hence require software to operate.
-
-An increasing amount of these connected devices are so-called \emph{edge devices} that operate in the \gls{IOT}.
-Typically, these edge devices are powered by microcontrollers.
-Said microcontrollers contain integrated circuits accommodating a microprocessor designed for use in embedded applications.
-Typical edge devices are therefore tiny in size; have little memory; contain a slow, but energy-efficient processor; and allow for a lot of connectivity to connect peripherals such as sensors and actuators to interact with their surroundings.
-%
-%\begin{figure}[ht]
-% \centering
-% \includegraphics[width=.4\linewidth]{esp}
-% \caption{A typical ESP32 microcontroller prototyping board.}%
-% \label{fig:esp_prototype}
-%\end{figure}
-
-An \gls{IOT} programmer has to program each device and their interoperation using different programming paradigms, programming languages, and abstraction levels resulting in semantic friction.
-Programming and maintaining \gls{IOT} systems is therefore a very complex and an error-prone process.
-
-This thesis describes the research carried out around taming these complex \gls{IOT} systems using \gls{TOP}.
-\Gls{TOP} is an innovative tierless programming paradigm for programming multi-tier interactive systems using a single declarative specification of the work that needs to be done.
-By utilising advanced compiler technologies, much of the internals, communication, and interoperation of the multi-tiered applications is automatically generated.
-The result of this compilation is a ready-for-work application.
-Unfortunately, because the abstraction level is so high, the hardware requirements are too excessive for a general purpose \gls{TOP} system to be suitable for the average edge device.
-
-This is where \glspl{DSL} are brought into play.
-\Glspl{DSL} are programming languages created with a specific domain in mind.
-Consequently, jargon does not have to be expressed in the language itself, but they can be built-in features.
-As a result, the hardware requirements can be drastically lower, even with high levels of abstraction.
-
-Using \gls{MTASK}, a novel domain-specific \gls{TOP} \gls{DSL} fully integrated with \gls{ITASK}, all layers of the \gls{IOT} can be orchestrated from a single source.
-\todo[inline]{uitbreiden}
-
-\section{Reading guide}
-The thesis is structured as a purely functional rhapsody.
-On Wikipedia, a musical rhapsody is defined as follows \citep{wikipedia_contributors_rhapsody_2022}:
+\todo[inline]{Brackets upright in listings?}
+This dissertation is about orchestrating \gls{IOT} systems harmlessly and efficiently.
+\todo{beter?}
+There are at least 13.4 billion devices connected to the internet at the time of writing \citep{transforma_insights_current_2023}.
+Each of these devices sense, act, or otherwise, interact with people, computers, and the environment.
+Despite their immense diversity, they are all computers and they all require software to operate.
+
+An increasing number of these connected devices are so-called edge devices that operate in the \gls{IOT}.
+Edge devices are the leaves of the \gls{IOT} systems.
+They perform the interaction with the physical world.
+It is not uncommon for edge devices to be physically embedded in the fabric itself.
+Typically, they reside in hard-to-reach places such as light bulbs, clothing, smart electricity meters, buildings, or even farm animals.
+The majority of edge devices are powered by microcontrollers.
+Microcontrollers are equipped with a lot of connectivity for integrating peripherals such as sensors and actuators.
+The connectivity makes them very suitable to interact with their surroundings.
+These miniature computers contain integrated circuits that accommodate a microprocessor designed for use in embedded applications.
+As a consequence, microcontrollers are cheap; tiny; have little memory; and contain a slow, but energy-efficient processor.
+
+When coordinating an orchestra of edge devices, there is room for little error.
+Edge devices come and go, perform their own pieces, or are sometimes instructed to perform a certain piece, they might even operate without a central authority.
+In a traditional setting, an \gls{IOT} engineer has to program each device and their interoperation using different programming paradigms, programming languages, and abstraction levels.
+This results in semantic friction, which makes programming and maintaining \gls{IOT} systems a complex and error-prone process.
+
+This dissertation describes the research carried out around orchestrating these complex \gls{IOT} systems using \gls{TOP}.
+\Gls{TOP} is an innovative tierless programming paradigm for interactive multi-layered systems.
+By utilising advanced compiler technologies, much of the internals, communication, and interoperation between the tiers or layers of the applications are automatically generated.
+The compiler makes an application controlling all interconnected components from a single declarative specification of the required work.
+For example, the \gls{TOP} system \gls{ITASK} is used to program all layers of multi-user distributed web applications from a single source specification.
+It is implemented in the general-purpose lazy functional programming language \gls{CLEAN}, and therefore requires relatively powerful hardware.
+The inflated hardware requirements are no problem for regular computers but impractical for the average edge device.
+
+This is where an additional \glspl{DSL} must play its part.
+\Glspl{DSL} are programming languages tailored to a specific domain.
+Consequently, jargon is not expressed in terms of the language itself, but are built-in language features.
+Furthermore, the \gls{DSL} can eschew language or system features that are irrelevant for the domain.
+Using \glspl{DSL}, hardware requirements can be drastically lowered, even while maintaining a high abstraction level for the specified domain.
+
+To incorporate the plethora of edge devices in the orchestra of a \gls{TOP} system, the \gls{MTASK} system is used.
+The \gls{MTASK} language is a novel programming language for programming \gls{IOT} edge devices using \gls{TOP}.
+Where \gls{ITASK} abstracts away from the gritty details of multi-tier web applications, \gls{MTASK} has domain-specific abstractions for \gls{IOT} edge devices, maintaining the high abstraction level that \gls{TOP} offers.
+As it is integrated with \gls{ITASK}, it allows for all layers of an \gls{IOT} application to be programmed from a single source.
+
+\section{Reading guide}%
+\label{lst:reading_guide}
+This work is structured as a purely functional rhapsody.
+The \citet{wikipedia_contributors_rhapsody_2022} define a musical rhapsody is defined as follows: