From 361de87321489f354abc3af1079bacc552dda0c0 Mon Sep 17 00:00:00 2001
From: Gabriel Nordeborn <gabbe.nord@gmail.com>
Date: Sun, 4 May 2025 23:46:05 +0200
Subject: [PATCH 1/2] fix variant design decisions

---
 pages/docs/manual/v12.0.0/variant.mdx | 34 ++++++++++++++++++++-------
 1 file changed, 25 insertions(+), 9 deletions(-)

diff --git a/pages/docs/manual/v12.0.0/variant.mdx b/pages/docs/manual/v12.0.0/variant.mdx
index b4686173c..d226b1cfc 100644
--- a/pages/docs/manual/v12.0.0/variant.mdx
+++ b/pages/docs/manual/v12.0.0/variant.mdx
@@ -762,13 +762,16 @@ Performance-wise, a variant can potentially tremendously speed up your program's
 
 ```js
 let data = 'dog'
-if (data === 'dog') {
-  ...
-} else if (data === 'cat') {
-  ...
-} else if (data === 'bird') {
-  ...
+function logData(data) {
+  if (data === 'dog') {
+    ...
+  } else if (data === 'cat') {
+    ...
+  } else if (data === 'bird') {
+    ...
+  }
 }
+logData(data)
 ```
 
 There's a linear amount of branch checking here (`O(n)`). Compare this to using a ReScript variant:
@@ -778,16 +781,29 @@ There's a linear amount of branch checking here (`O(n)`). Compare this to using
 ```res example
 type animal = Dog | Cat | Bird
 let data = Dog
-switch data {
+let logData = data => switch data {
 | Dog => Console.log("Wof")
 | Cat => Console.log("Meow")
 | Bird => Console.log("Kashiiin")
 }
+logData(data)
 ```
 ```js
-console.log("Wof");
+function logData(data) {
+  switch (data) {
+    case "Dog" :
+      console.log("Wof");
+      return;
+    case "Cat" :
+      console.log("Meow");
+      return;
+    case "Bird" :
+      console.log("Kashiiin");
+      return;
+  }
+}
 
-var data = "Dog";
+logData("Dog");
 ```
 
 </CodeTab>

From 0b14224f385f86fd12eb6f5d00a28792a879e9bf Mon Sep 17 00:00:00 2001
From: Gabriel Nordeborn <gabbe.nord@gmail.com>
Date: Sun, 4 May 2025 23:47:36 +0200
Subject: [PATCH 2/2] format

---
 pages/docs/manual/v12.0.0/variant.mdx | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/pages/docs/manual/v12.0.0/variant.mdx b/pages/docs/manual/v12.0.0/variant.mdx
index d226b1cfc..6d7ece732 100644
--- a/pages/docs/manual/v12.0.0/variant.mdx
+++ b/pages/docs/manual/v12.0.0/variant.mdx
@@ -781,12 +781,15 @@ There's a linear amount of branch checking here (`O(n)`). Compare this to using
 ```res example
 type animal = Dog | Cat | Bird
 let data = Dog
-let logData = data => switch data {
-| Dog => Console.log("Wof")
-| Cat => Console.log("Meow")
-| Bird => Console.log("Kashiiin")
+let logData = data => {
+  switch data {
+  | Dog => Console.log("Wof")
+  | Cat => Console.log("Meow")
+  | Bird => Console.log("Kashiiin")
+  }
 }
 logData(data)
+
 ```
 ```js
 function logData(data) {