let extract_common ~kind p l =
let ts =
if Lang.to_bool (List.assoc "track_sensitive" p) then
Sensitive
else
Insensitive
in
let tr =
let tr = Lang.to_list (List.assoc "transitions" p) in
let ltr = List.length tr in
if ltr > l then raise (Lang.Invalid_value
((List.assoc "transitions" p),
"Too many transitions")) ;
if ltr < l then
tr @ (Utils.make_list (l-ltr) (default_transition kind))
else
tr
in
let replay = Lang.to_bool (List.assoc "replay_metadata" p) in
replay,ts,tr