improve type analysis of spread arg