diff --git a/src/func/classes/option.rs b/src/func/classes/option.rs
index e1e05f7..19804a0 100644
--- a/src/func/classes/option.rs
+++ b/src/func/classes/option.rs
@@ -123,6 +123,15 @@ impl LocalFunctor for OptionClass {
     }
 }
 
+impl MonadFail<()> for OptionClass {
+    fn fail<'a, A: 'a>(_e: ()) -> Self::F<'a, A>
+    where
+        Self: 'a,
+        (): 'a {
+        None
+    }
+}
+
 #[cfg(test)]
 mod option_tests {
     use super::{test_suite, tests, Functor};