free on snippet changing to snippet_destroy
merge for ... ?