The subject of neural coding has generated much heated debate. A key issue is whether the nervous system uses coarse or fine coding strategies. Each has different advantages and disadvantages and, therefore, different implications for how the brain computes. For example, the advantage to coarse coding is that it's robust to fluctuations in spike arrival times. Downstream neurons don't have to keep track of the details of the spike trains. The disadvantage, though, is that individual cells can't carry much information, so downstream neurons have to pool signals across cells and/or across time to obtain enough information to represent the sensory world and guide behavior. In contrast, the advantage to fine coding is that individual cells can carry a great deal of information; however, downstream neurons have to resolve spike train structure. Here we address the question of what the neural code can and can't be, using the retinal output cells as the model system. We recorded from essentially all the retinal output cells an animal uses to solve a task, evaluated the cells‘ spike trains for as long as the animal evaluates them, and used optimal, i.e., Bayesian, decoding. This approach makes it possible to obtain an upper bound on the performance of codes and thus eliminate those that are not viable. Our results show that coarse coding strategies are insufficient; finer, more information-rich codes are necessary.