I'm a bit lost here - where does 'preserved' in arg.kwargs come from? Does it have to be specified in the yaml assistant/snippet? If so, what is the default? Also, this will need to be documented.