ns_formvalueput assumes that checkboxes are identical to radio buttons, in the sense that there is no way to set two checkboxes in the same set.
server1:nscp 2> set ca [ns_formvalueput $checks ex a]
<form>
<input type="checkbox" name="ex" value="a" CHECKED>a</input>
<input type="checkbox" name="ex" value="b">b</input>
</form>
server1:nscp 3> set cb [ns_formvalueput $ca ex b]
<form>
<input type="checkbox" name="ex" value="a">a</input>
<input type="checkbox" name="ex" value="b" CHECKED>b</input>
</form>
I believe the second output should have retained the checking of "a". Corollary: there should be a mechanism for *unchecking* a checkbox, or checkboxes should not be handled by this proc at all.