marcosh<p>I wrote another blog post on several ways to declare an interface in <a href="https://functional.cafe/tags/Haskell" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Haskell</span></a></p><p><a href="https://marcosh.github.io/post/2025/07/22/four-ways-of-declaring-interfaces-in-haskell.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">marcosh.github.io/post/2025/07</span><span class="invisible">/22/four-ways-of-declaring-interfaces-in-haskell.html</span></a></p><p><a href="https://functional.cafe/tags/functionalprogamming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>functionalprogamming</span></a> <a href="https://functional.cafe/tags/functional" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>functional</span></a> <a href="https://functional.cafe/tags/interface" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>interface</span></a> <a href="https://functional.cafe/tags/abstraction" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>abstraction</span></a></p>