A discussion about resisting premature abstraction, keeping what works, and knowing when the overhead of protocols outweighs their promise.