let do_on_term_lval (preaction_lval,postaction_lval) tlv =
let preaction_tlval tlv =
match preaction_lval with None -> tlv | Some preaction_lval ->
let lv,env = !Db.Properties.Interp.force_term_lval_to_lval tlv in
let lv = preaction_lval lv in
!Db.Properties.Interp.force_back_lval_to_term_lval env lv
in
let postaction_tlval tlv =
match postaction_lval with None -> tlv | Some postaction_lval ->
let lv,env = !Db.Properties.Interp.force_term_lval_to_lval tlv in
let lv = postaction_lval lv in
!Db.Properties.Interp.force_back_lval_to_term_lval env lv
in
ChangeDoChildrenPost (preaction_tlval tlv, postaction_tlval)