diff --git a/base/schema-elixir/test/inputs/schema/min-max-items.schema/default/QuickType.ex b/head/schema-elixir/test/inputs/schema/min-max-items.schema/default/QuickType.ex
index ab96f6c..76d9c2b 100644
--- a/base/schema-elixir/test/inputs/schema/min-max-items.schema/default/QuickType.ex
+++ b/head/schema-elixir/test/inputs/schema/min-max-items.schema/default/QuickType.ex
@@ -17,19 +17,19 @@ defmodule TopLevel do
           union_items: [integer() | String.t()]
         }
 
-  def decode_max_only(value) when is_list(value), do: value
+  def decode_max_only(value) when is_list(value) and length(value) <= 3, do: value
   def decode_max_only(_), do: {:error, "Unexpected type when decoding TopLevel.max_only"}
 
   def encode_max_only(value) when is_list(value), do: value
   def encode_max_only(_), do: {:error, "Unexpected type when encoding TopLevel.max_only"}
 
-  def decode_min_and_max(value) when is_list(value), do: value
+  def decode_min_and_max(value) when is_list(value) and length(value) >= 1 and length(value) <= 4, do: value
   def decode_min_and_max(_), do: {:error, "Unexpected type when decoding TopLevel.min_and_max"}
 
   def encode_min_and_max(value) when is_list(value), do: value
   def encode_min_and_max(_), do: {:error, "Unexpected type when encoding TopLevel.min_and_max"}
 
-  def decode_min_only(value) when is_list(value), do: value
+  def decode_min_only(value) when is_list(value) and length(value) >= 2, do: value
   def decode_min_only(_), do: {:error, "Unexpected type when decoding TopLevel.min_only"}
 
   def encode_min_only(value) when is_list(value), do: value
@@ -41,7 +41,7 @@ defmodule TopLevel do
   def encode_plain(value) when is_list(value), do: value
   def encode_plain(_), do: {:error, "Unexpected type when encoding TopLevel.plain"}
 
-  def decode_union_items(value) when is_list(value), do: value
+  def decode_union_items(value) when is_list(value) and length(value) >= 2, do: value
   def decode_union_items(_), do: {:error, "Unexpected type when decoding TopLevel.union_items"}
 
   def encode_union_items(value) when is_list(value), do: value
