diff --git a/lib/openapi3_parser/node_factories/schema.rb b/lib/openapi3_parser/node_factories/schema.rb
index <HASH>..<HASH> 100644
--- a/lib/openapi3_parser/node_factories/schema.rb
+++ b/lib/openapi3_parser/node_factories/schema.rb
@@ -63,11 +63,15 @@ module Openapi3Parser
       end
 
       def required_factory(context)
-        NodeFactories::Array.new(context, value_input_type: String)
+        NodeFactories::Array.new(
+          context,
+          default: nil,
+          value_input_type: String
+        )
       end
 
       def enum_factory(context)
-        NodeFactories::Array.new(context)
+        NodeFactories::Array.new(context, default: nil)
       end
 
       def disciminator_factory(context)
@@ -96,6 +100,7 @@ module Openapi3Parser
       def referenceable_schema_array(context)
         NodeFactories::Array.new(
           context,
+          default: nil,
           value_factory: NodeFactory::OptionalReference.new(self.class)
         )
       end
Set specific Schema arrays to default to nil

These ones have expectations that being present adds meaning, therefore
it feels more natural for these to be nil when not provided.