merge_sm_states
ret = merge_sm_states(left, right);
res = merge_sm_states(one, two);
struct sm_state *merge_sm_states(struct sm_state *one, struct sm_state *two);
merged = merge_sm_states(orig, sm);