diff --git a/ivette/.eslintrc.js b/ivette/.eslintrc.js
index 9158c04e76fbd190057fb2ac7ec8de887dbe6d15..377b7766eed573f8ab0340b9b33bd8a152e57c35 100644
--- a/ivette/.eslintrc.js
+++ b/ivette/.eslintrc.js
@@ -67,6 +67,8 @@ module.exports = {
     "curly": "off",
     // Do not specify position for single commands
     "nonblock-statement-body-position": "off",
+    // Requires '+' to be applied on 2 numbers or 2 strings only
+    "@typescript-eslint/restrict-plus-operands": "error",
     // Allow ++/-- operators only in for-loops
     "no-plusplus": ["error", { "allowForLoopAfterthoughts": true }],
     // Force code to 80 columns, but for trailing comments
diff --git a/ivette/src/dome/renderer/layout/forms.tsx b/ivette/src/dome/renderer/layout/forms.tsx
index 79d96f2f1e7291475ba8d34b99ae8c164341df4c..1bd3c06935a48214c072342350ffdf49b80e3992 100644
--- a/ivette/src/dome/renderer/layout/forms.tsx
+++ b/ivette/src/dome/renderer/layout/forms.tsx
@@ -73,7 +73,7 @@ export function validate<A>(
       if (r === undefined || r === true) return undefined;
       return r;
     } catch (err) {
-      return '' + err || false;
+      return `${err}`;
     }
   }
   return undefined;
@@ -250,7 +250,7 @@ export function useFilter<A, B>(
         }
       } catch (err) {
         setLocalValue(newValue);
-        setLocalError(newError || err ? '' + err : 'Invalid value');
+        setLocalError(newError || err ? `${err}` : 'Invalid value');
         setDangling(true);
       }
     }, [output, setState, setLocalValue, setLocalError],
@@ -262,7 +262,7 @@ export function useFilter<A, B>(
   try {
     return [input(value), error, update];
   } catch (err) {
-    return [localValue, err ? '' + err : 'Invalid input', update];
+    return [localValue, err ? `${err}` : 'Invalid input', update];
   }
 
 }
diff --git a/ivette/src/frama-c/plugins/eva/probes.ts b/ivette/src/frama-c/plugins/eva/probes.ts
index cf1dd2709e6bd697821d09cc51fb84bb4f9e6ad4..38c4497ead849d53c32e9129cb18beb805ee0bb6 100644
--- a/ivette/src/frama-c/plugins/eva/probes.ts
+++ b/ivette/src/frama-c/plugins/eva/probes.ts
@@ -52,7 +52,7 @@ function newLabel() {
     La = Ka;
     Lk++;
   }
-  return k > 0 ? lbl + k : lbl;
+  return k > 0 ? `${lbl}${k}` : lbl;
 }
 
 /* --------------------------------------------------------------------------*/
diff --git a/ivette/src/frama-c/server.ts b/ivette/src/frama-c/server.ts
index 8c84ddcfb27d73b58d7f33b237ccde620a12728c..f4039c19e2305edd76724f1e84b9ce4b579e0b3e 100644
--- a/ivette/src/frama-c/server.ts
+++ b/ivette/src/frama-c/server.ts
@@ -392,7 +392,7 @@ async function _launch() {
 
   buffer.clear();
   buffer.append('$', command);
-  const size = params.reduce((n: any, p: any) => n + p.length, 0);
+  const size = params.reduce((n, p) => n + p.length, 0);
   if (size < 40) {
     buffer.append('', ...params);
   } else {