Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Remove local type classes instances and explicit type class arguments #1628
If a local type class instance is lawful and coherent then it need to be a global implicit. Otherwise it should not exist and alternative implementation must be used.
Explicit type class arguments are sometimes used to work around bad type inference. In this cases it is preferable to explicit the necessary type arguments so that the right type class instance is resolved implicitly.