diff --git a/src/lib.rs b/src/lib.rs
index 269cf73..d019555 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -20,10 +20,12 @@
 #[cfg(feature = "unstable")]
 mod imp;
 
-#[derive(Clone, Debug)]
+#[macro_use]
+mod macros;
+
+#[derive(Clone)]
 pub struct TokenStream(imp::TokenStream);
 
-#[derive(Debug)]
 pub struct LexError(imp::LexError);
 
 impl FromStr for TokenStream {
@@ -37,12 +39,6 @@
     }
 }
 
-impl fmt::Display for TokenStream {
-    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-        self.0.fmt(f)
-    }
-}
-
 impl From<proc_macro::TokenStream> for TokenStream {
     fn from(inner: proc_macro::TokenStream) -> TokenStream {
         TokenStream(inner.into())
@@ -86,7 +82,7 @@
     }
 }
 
-#[derive(Copy, Clone, Debug)]
+#[derive(Copy, Clone)]
 pub struct Span(imp::Span);
 
 impl Default for Span {
@@ -129,7 +125,7 @@
     None,
 }
 
-#[derive(Copy, Clone, Debug)]
+#[derive(Copy, Clone)]
 pub struct Symbol(imp::Symbol);
 
 impl<'a> From<&'a str> for Symbol {
@@ -156,15 +152,9 @@
     Joint,
 }
 
-#[derive(Clone, Debug)]
+#[derive(Clone)]
 pub struct Literal(imp::Literal);
 
-impl fmt::Display for Literal {
-    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-        self.0.fmt(f)
-    }
-}
-
 impl Literal {
     pub fn byte_char(b: u8) -> Literal {
         Literal(imp::Literal::byte_char(b))
@@ -211,7 +201,6 @@
     f32, f64, char, &'a str,
 }
 
-#[derive(Debug)]
 pub struct TokenIter(imp::TokenIter);
 
 impl Iterator for TokenIter {
@@ -221,3 +210,12 @@
         self.0.next()
     }
 }
+
+forward_fmt!(Debug for LexError);
+forward_fmt!(Debug for Literal);
+forward_fmt!(Debug for Span);
+forward_fmt!(Debug for Symbol);
+forward_fmt!(Debug for TokenIter);
+forward_fmt!(Debug for TokenStream);
+forward_fmt!(Display for Literal);
+forward_fmt!(Display for TokenStream);
diff --git a/src/macros.rs b/src/macros.rs
new file mode 100644
index 0000000..89eb554
--- /dev/null
+++ b/src/macros.rs
@@ -0,0 +1,9 @@
+macro_rules! forward_fmt {
+    ($tr:ident for $ty:ident) => {
+        impl ::std::fmt::$tr for $ty {
+            fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
+                ::std::fmt::$tr::fmt(&self.0, f)
+            }
+        }
+    }
+}
