make spread argument typing conform to much simpler rules from spec!