diff --git a/3-Operators/4-CanonicalForm.ipynb b/3-Operators/4-CanonicalForm.ipynb
index 0958b10291fb66771a16f2f7e94102d21e86dbeb..ef5ca7a5f02ac3956d1454689a068d440b757f4c 100644
--- a/3-Operators/4-CanonicalForm.ipynb
+++ b/3-Operators/4-CanonicalForm.ipynb
@@ -195,7 +195,7 @@
     "** Error in `./prog.exe': double free or corruption (fasttop): 0x0000000001532da0 **\n",
     "```\n",
     "\n",
-    "So what's the deal? The default operator copies all the data attributes from `v1` to `v2`... which here amounts only to the `array_` pointer. But it really copies that, the pointer, and not the data pointed by this pointer. So in fine v1 and v2 points to the same area of memory, and the issue is that we attempt to free the same memory twice.\n",
+    "So what's the deal? The default operator copies all the data attributes from `v1` to `v2`... which here amounts only to the `array_` pointer. But it really copies that: the pointer itself, _not_ the data pointed by this pointer. So in fine v1 and v2 points to the same area of memory, and the issue is that we attempt to free the same memory twice.\n",
     "\n",
     "One way to solve this is not to use a dynamic array - for instance you would be cool with a `std::vector`. But we can do so properly by hand as well (in practice don't - stick with `std::vector`!):\n"
    ]