Understanding Haskell Type Class Instance Selection
medium.com