See previous comments, these are explicit acceptance cases, and I thought it read better to enumerate the valid cases than use `needle != null` or `needle ?`