turbocharge type class derivation: now with coproducts!