Sanely-automatic derivation – fixing type classes derivation UX in Scala