update the internals of $Nil to be more consistent, and return true from Put and SetP