has_type implies equal length