With sbt's optional dependencies, it is possible to write code against type classes that may or may not exist downstream. See https://blog.7mind.io/no-more-orphans.html It would be great to have common `HasCats`, `HasScalaz` marker traits.