 
   def cast(int, %Schema{type: :any}), do: {:ok, int}
 
-  def cast(int, %Schema{type: nil}), do: {:ok, int}
-
   def cast(_, %Schema{type: type}),
     do: {:error, %{to: type, cast: Integer}}
 end


  alias Xema.Schema

  def cast(map, %Schema{type: :map, keys: nil}), do: {:ok, map}

  def cast(map, %Schema{type: :map, keys: keys}) do
    Enum.reduce_while(map, {:ok, %{}}, fn {key, value}, {:ok, acc} ->
      case cast_key(key, keys) do

  end

  def cast(map, %Schema{type: :any}), do: {:ok, map}

  def cast(_, %Schema{type: type}),
    do: {:error, %{to: type, cast: Map}}
