     end)
   end
 
-  def postprocess_soil_height(%{soil_height: true} = needs) do
-    Map.put(needs, :z, SpecialValue.soil_height(needs))
-  end
-
   def postprocess_soil_height(needs), do: needs
 
   def do_perform_movement(%{safe_z: true} = needs) do

    needs
  end

  def calculate_movement_needs(body) do
    mapper = &FarmbotCeleryScript.Compiler.Move.mapper/1
    reducer = &FarmbotCeleryScript.Compiler.Move.reducer/2
    list = initial_state() ++ Enum.map(body, mapper)
    Enum.reduce(list, %{}, reducer)
  end

  def reducer({_, _, {:skip, :soil_height}}, state) do
    Map.put(state, :soil_height, true)
  end

  def reducer({key, :+, value}, state) do

    extract_variables(body, better_params)
    |> preprocess_lua(better_params)
    |> calculate_movement_needs()
    |> do_perform_movement()
  end

