+\usepackage{subfiles}
+
+\ifSubfilesClassLoaded{}{
+ \usepackage{xmpincl}
+ \includexmp{CC_Attribution-NoDerivatives_4.0_International}
+}
+
+% Custom commands
+\newcommand{\GHCmod}[1]{\texttt{#1}}
+\newcommand{\aramsingh}{Ramsingh, A.\ (University of Glasgow)}
+\newcommand{\dcolon}[0]{\mathbin{::}}
+\newcommand{\doifmt}[1]{\href{https://doi.org/#1}{#1}}
+\newcommand{\etc}{{\fontfamily{cmr}\selectfont{\itshape\/\&\kern-0.2em c}}}
+\newcommand{\jsinger}{Singer, dr.\ J.\ (University of Glasgow)}
+\newcommand{\mlubbers}{Lubbers, M.\ (Radboud University)}
+\newcommand{\pkoopman}{Koopman, dr.\ P.\ (Radboud University)}
+\newcommand{\ptrinder}{Trinder, prof.~dr.\ P.\ (University of Glasgow)}
+\newcommand{\rdmentry}[5]{#1 (#2): #3. #4.\ \doifmt{#5}}
+\newcommand{\rewriterate}[2]{\langle{}\mathit{#1}, \mathit{#2}\rangle{}}
+\newcommand{\requiresGHCmod}[2][]{\footnote{Requires \GHCmod{#2} to be enabled. #1}}
+\newcommand{\rplasmeijer}{Plasmeijer, prof.\ dr.\ ir.\ R.\ (Radboud University)}
+\newcommand{\erasmusplus}{ERASMUS\raisebox{.25ex}{+}}
+\newcommand{\imtask}{\gls{ITASK}\slash\gls{MTASK}}
+\newcommand{\citask}{\gls{CLEAN}\slash\gls{ITASK}}
+\newcommand{\Citask}{\Gls{CLEAN}\slash\gls{ITASK}}
+\newcommand{\cmtask}{\gls{CLEAN}\slash\gls{MTASK}}
+\newcommand{\Cmtask}{\Gls{CLEAN}\slash\gls{MTASK}}
+\newcommand{\cimtask}{\gls{CLEAN}\slash\gls{ITASK}\slash\gls{MTASK}}
+\newcommand{\Cimtask}{\Gls{CLEAN}\slash\gls{ITASK}\slash\gls{MTASK}}
+\newcommand{\ccpp}{\texorpdfstring{\gls{C}\slash\gls{CPP}}{C\slash{}C\texttt{++}}}
+\newcommand{\Ccpp}{\texorpdfstring{\Gls{C}\slash\gls{CPP}}{C\slash{}C\texttt{++}}}
+\newcommand{\stacksize}[1]{\parallel#1\parallel}
+
+\makeatletter
+\newenvironment{compilationscheme}
+ {\allowdisplaybreaks\startalign}
+ {\endalign}
+\makeatother