Thanks for the answer. I&#x27;m familiar with the &quot;Impedance mismatch&quot; that EDSL have in C++. 
If done right, it can be very limited. For example, I like what they did with NT2 (for Matlab programmer): <a href="https:&#x2F;&#x2F;www.lri.fr&#x2F;~falcou&#x2F;nt2&#x2F;tutorial&#x2F;matlab&#x2F;first_example.html" rel="nofollow">https:&#x2F;&#x2F;www.lri.fr&#x2F;~falcou&#x2F;nt2&#x2F;tutorial&#x2F;matlab&#x2F;first_example...</a> . But it is not always possible, depending on the paradigm.<p>I agree that static analyses and invariant enforcement&#x2F;extraction is a good reason to have a new language (I think most of the time you have to &quot;get around&quot; with &quot;convention&quot; when using C++ EDSL).