diff --git a/automata/euclidean_distance_automaton.jl b/automata/euclidean_distance_automaton.jl
index bf1fc71ef06eec340741af2dd1069f73eb47a9ab..12bf0730e25f1acd502a38b3f796a7cc97e740dc 100644
--- a/automata/euclidean_distance_automaton.jl
+++ b/automata/euclidean_distance_automaton.jl
@@ -72,11 +72,11 @@ function create_euclidean_distance_automaton(m::ContinuousTimeModel, timeline::A
         # Defined below 
         #struct $(edge_name(:l1, :l1, 1)) <: $(edge_type) transitions::Union{Nothing,Vector{Symbol}} end
         @everywhere $(check_constraints(:l1, :l1, 1))(S_time::Float64, S_values::Vector{Float64}, x::Vector{Int}, p::Vector{Float64}) =
-        (tml = $(Tuple(timeline));
+        (tml = $(SVector{length(timeline)}(timeline));
          tml_idx = tml[convert(Int, S_values[$(to_idx(:idx))])];
          S_values[$(to_idx(:t))] >= tml_idx)
         @everywhere $(update_state!(:l1, :l1, 1))(S_time::Float64, S_values::Vector{Float64}, x::Vector{Int}, p::Vector{Float64}) =
-        (y_obs = $(Tuple(observations));
+        (y_obs = $(SVector{length(observations)}(observations));
          y_obs_idx = y_obs[convert(Int, S_values[$(to_idx(:idx))])];
          S_values[$(to_idx(:d))] = S_values[$(to_idx(:d))]+(S_values[$(to_idx(:n))]-y_obs_idx)^2;
          S_values[$(to_idx(:idx))] = S_values[$(to_idx(:idx))]+1.0;