+\subsection{Comparison}
+\todo[inline]{text moet beter}
+There is no silver bullet to embedding \glspl{DSL}.
+\Citet{sun_compositional_2022} provided a thorough comparison of embedding techniques including more axes than just the two statet in the expression problem.
+
+\Cref{tbl:dsl_comparison_brief} shows a variant of their comparison table.
+The first two rows describe the two axes of the original expression problem and the third row describes theadded axis of modular dependency handling as stated by \citeauthor{sun_compositional_2022}.
+The \emph{poly.} style of embedding---including tagless-final---falls short of this requirement.
+
+Intensional analysis is an umbrella term for pattern matching and transformations.
+In shallow embedding, intensional analysis is more complex and requires stateful views describing context but it is possible to implement though.
+
+Simple type system describes the whether it is possible to encode this embedding technique with many type system extensions.
+In classy deep embedding, there is either a bit more scaffolding and boilerplate required or advanced type system extensions need to be used.
+
+Little boilerplate denotes the amount of scaffolding and boilerplate required.
+For example, hybrid embedding requires a transcoding step between the deep syntax and the shallow core language.
+
+\begin{table}[ht]
+ \begin{threeparttable}[b]
+ \small
+ \caption{Comparison of embedding techniques, extended from \citet[\citesection{3.6}]{sun_compositional_2022}.}%
+ \label{tbl:dsl_comparison_brief}
+ \begin{tabular}{llllllll}
+ \toprule
+ & Shallow & Deep & Hybrid
+ & Poly. & Comp. & \`a la
+ & Classy\\
+ \midrule
+ Extend constructs & \CIRCLE{} & \Circle{} & \LEFTcircle{}\tnote{1}
+ & \CIRCLE{} & \CIRCLE{} & \CIRCLE{}
+ & \CIRCLE{}\\
+ Extend views & \Circle{} & \CIRCLE{} & \CIRCLE{}
+ & \CIRCLE{} & \CIRCLE{} & \CIRCLE{}
+ & \CIRCLE{}\\
+ Modular dependencies & \Circle{} & \CIRCLE{} & \CIRCLE{}
+ & \Circle{} & \CIRCLE{} & \CIRCLE{}
+ & \CIRCLE{}\\
+ Intensional analysis & \LEFTcircle{}\tnote{2} & \CIRCLE{} & \CIRCLE{}
+ & \LEFTcircle{}\tnote{2} & \LEFTcircle{}\tnote{2} & \CIRCLE{}
+ & \LEFTcircle{}\tnote{3}\\
+ Simple type system & \CIRCLE{} & \CIRCLE{} & \Circle{}
+ & \CIRCLE{} & \CIRCLE{} & \Circle{}
+ & \LEFTcircle{}\tnote{4}\\
+ Little boilerplate & \CIRCLE{} & \CIRCLE{} & \Circle{}
+ & \CIRCLE{} & \CIRCLE{} & \Circle{}
+ & \LEFTcircle{}\tnote{4}\\
+ \bottomrule
+ \end{tabular}
+ \begin{tablenotes}
+ \item [1] Only if the extension is expressible in the core language.
+ \item [2] Requires ingenuity and are sometimes awkward to write.
+ \item [3] Cross-extensional pattern matching requires \emph{safe} dynamic typing.
+ \item [4] Either a simple type system or little boilerplate.
+ \end{tablenotes}
+ \end{threeparttable}
+\end{table}
+