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
diff --git a/base/schema-elixir/test/inputs/schema/vega-lite.schema/default/QuickType.ex b/head/schema-elixir/test/inputs/schema/vega-lite.schema/default/QuickType.ex
index 0eba8b2..36738e1 100644
--- a/base/schema-elixir/test/inputs/schema/vega-lite.schema/default/QuickType.ex
+++ b/head/schema-elixir/test/inputs/schema/vega-lite.schema/default/QuickType.ex
@@ -6260,13 +6260,13 @@ defmodule BinParams do
   def encode_base(value) when is_integer(value), do: value
   def encode_base(_), do: {:error, "Unexpected type when encoding BinParams.base"}
 
-  def decode_divide(value) when is_list(value), do: value
+  def decode_divide(value) when is_list(value) and length(value) >= 1, do: value
   def decode_divide(_), do: {:error, "Unexpected type when decoding BinParams.divide"}
 
   def encode_divide(value) when is_list(value), do: value
   def encode_divide(_), do: {:error, "Unexpected type when encoding BinParams.divide"}
 
-  def decode_extent(value) when is_list(value), do: value
+  def decode_extent(value) when is_list(value) and length(value) >= 2 and length(value) <= 2, do: value
   def decode_extent(_), do: {:error, "Unexpected type when decoding BinParams.extent"}
 
   def encode_extent(value) when is_list(value), do: value
@@ -6302,7 +6302,7 @@ defmodule BinParams do
   def encode_step(value) when is_integer(value), do: value
   def encode_step(_), do: {:error, "Unexpected type when encoding BinParams.step"}
 
-  def decode_steps(value) when is_list(value), do: value
+  def decode_steps(value) when is_list(value) and length(value) >= 1, do: value
   def decode_steps(_), do: {:error, "Unexpected type when decoding BinParams.steps"}
 
   def encode_steps(value) when is_list(value), do: value
@@ -6745,7 +6745,7 @@ defmodule Predicate do
   def encode_field(value) when is_binary(value), do: value
   def encode_field(_), do: {:error, "Unexpected type when encoding Predicate.field"}
 
-  def decode_range(value) when is_list(value), do: value
+  def decode_range(value) when is_list(value) and length(value) >= 2 and length(value) <= 2, do: value
   def decode_range(_), do: {:error, "Unexpected type when decoding Predicate.range"}
 
   def encode_range(value) when is_list(value), do: value
