misc improvs to ch7
semantics of spread args and of enumeration