diff --git a/src/axelitus/Base/Primitives/Primitive.php b/src/axelitus/Base/Primitives/Primitive.php
index <HASH>..<HASH> 100644
--- a/src/axelitus/Base/Primitives/Primitive.php
+++ b/src/axelitus/Base/Primitives/Primitive.php
@@ -43,9 +43,11 @@ abstract class Primitive
      */
     final public function __construct($value)
     {
-        if (!$this->validateValue($value)) {
-            $value = (is_null($value)? "null" : ((is_string($value))? "'{$value}'" : "{$value}"));
-            throw new \InvalidArgumentException("The \$value {$value} is not a valid value for this Primitive.");
+        if(!is_null($value)) {
+            if (!$this->validateValue($value)) {
+                $value = ((is_string($value))? "'{$value}'" : "{$value}");
+                throw new \InvalidArgumentException("The \$value {$value} is not a valid value for this Primitive.");
+            }
         }
 
         $this->value = $value;
Changed how null value was handled. Now all primitives allow values to be null.