nitpick: `needle ?` is sufficient