to use sf.set() instead of bare param.Name.value

Wouldn't it be more reasonable? It supports the "list".