We prove a new Singleton-type upper bound for list-decodable codes, which improves upon the previously known bound by roughly a factor of 1/L, where L is the list size. We also prove a Singleton-type upper bound for list-recoverable codes, which to the best of our knowledge, is the first such bound. Then, we apply these results to obtain new lower bounds on the list size of list-decodable or recoverable codes with rates approaching capacity, that are optimal up to a multiplicative constant.Moreover, we show that for a wide range of parameters, list-decodable nonlinear codes can strictly outperform list-decodable linear codes. This is achieved by a novel connection between list-decoding and the notion of sparse hypergraphs in extremal combinatorics. Lastly, we show that list-decodability or recover-ability of codes implies in some sense good unique decodability.The full version of the paper is accessible at .