The difference when developing some interfaces like that can be whether you &quot;consume&quot; them yourself or not. Building something without a known user base&#x2F;use case (where the idea was just &#x27;that sounds cool&#x27;) and supporting it forever can lead to _different_ design decisions compared to those where you go &quot;Hhmmm...well if we build it this way it is really good&#x2F;bad and we can use it easier.&quot;<p>Whatever you end up with, though, is definitely a &quot;support forever&quot; situation.