diff --git a/lib/praxis-blueprints/blueprint.rb b/lib/praxis-blueprints/blueprint.rb
index <HASH>..<HASH> 100644
--- a/lib/praxis-blueprints/blueprint.rb
+++ b/lib/praxis-blueprints/blueprint.rb
@@ -337,11 +337,11 @@ module Praxis
         if value.respond_to?(:validating) # really, it's a thing with sub-attributes
           next if value.validating
         end
-        errors.push(*sub_attribute.validate(value, sub_context))
+        errors.concat(sub_attribute.validate(value, sub_context))
       end
       self.class.attribute.type.requirements.each do |req|
         validation_errors = req.validate(keys_with_values, context)
-        errors.push(*validation_errors) unless validation_errors.empty?
+        errors.concat(validation_errors) unless validation_errors.empty?
       end
       errors
     ensure
diff --git a/lib/praxis-blueprints/field_expander.rb b/lib/praxis-blueprints/field_expander.rb
index <HASH>..<HASH> 100644
--- a/lib/praxis-blueprints/field_expander.rb
+++ b/lib/praxis-blueprints/field_expander.rb
@@ -108,7 +108,7 @@ module Praxis
       new_fields = fields.is_a?(Array) ? fields[0] : fields
 
       result = [expand(object.member_attribute.type, new_fields)]
-      history[object][fields].push(*result)
+      history[object][fields].concat(result)
 
       result
     end
Use `.concat` to appease the cops a little bit.