title: Why extract an interface when we can DI a delegate to make it testable?
body: <p>I was browsing SO and came across this comment on an answer:</p>
  
  <blockquote>
    <p>Why do we go through the ceremony of extracting an interface when we
    can DI a delegate to make it testable?</p>
  </blockquote>
  
  <p>This articulated a thought I had earlier in the year. Is there anything inherently wrong with injecting pure functionality (function pointers, I guess) instead of interface implementations?</p>