diff --git a/src/std/tracing.rs b/src/std/tracing.rs
index dcc9d00..01d6b7c 100644
--- a/src/std/tracing.rs
+++ b/src/std/tracing.rs
@@ -22,6 +22,7 @@ pub use self::traced::*;
 pub struct TracedDiagnostic;
 
 /// Implementation of [`Monad`] for [Traced] objects.
+#[derive(CovariantFunctor)]
 pub struct TracedClass;
 
 trait WithTrace: Sized {
diff --git a/src/testing/counted.rs b/src/testing/counted.rs
index edfb673..ff787b3 100644
--- a/src/testing/counted.rs
+++ b/src/testing/counted.rs
@@ -21,6 +21,7 @@ impl Context for TestContextCounted {
     }
 }
 
+#[derive(CovariantFunctor)]
 pub struct CountedClass;
 
 pub struct Counted<A> {