diff --git a/synom/Cargo.toml b/synom/Cargo.toml
index 6a7dad8..f3bd05d 100644
--- a/synom/Cargo.toml
+++ b/synom/Cargo.toml
@@ -22,6 +22,10 @@
 clone-impls = []
 extra-traits = []
 
+# NOTE: This feature is very verbose - it will cause every call!() expression to
+# be logged to stderr. It exists mostly as a debugging tool.
+verbose-trace = []
+
 [dev-dependencies.syn]
 version = "0.11"
 path = ".."
diff --git a/synom/src/cursor.rs b/synom/src/cursor.rs
index 59516b1..3732454 100644
--- a/synom/src/cursor.rs
+++ b/synom/src/cursor.rs
@@ -347,11 +347,10 @@
 // pretty useless.
 impl<'a> fmt::Debug for Cursor<'a> {
     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-        f.debug_struct("Cursor")
-            .field("ptr", &self.ptr)
-            .field("scope", &self.scope)
-            // Dummy `entry` field to show data behind the `ptr` ptr.
-            .field("entry", self.entry())
+        // Print what the cursor is currently looking at.
+        // This will look like Cursor("some remaining tokens here")
+        f.debug_tuple("Cursor")
+            .field(&self.token_stream().to_string())
             .finish()
     }
 }
diff --git a/synom/src/lib.rs b/synom/src/lib.rs
index 8cf09ac..009de43 100644
--- a/synom/src/lib.rs
+++ b/synom/src/lib.rs
@@ -151,12 +151,30 @@
     };
 }
 
+#[cfg(feature = "verbose-trace")]
+#[macro_export]
+macro_rules! call {
+    ($i:expr, $fun:expr $(, $args:expr)*) => {
+        {
+            let i = $i;
+            eprintln!(concat!(" -> ", stringify!($fun), " @ {:?}"), i);
+            let r = $fun(i $(, $args)*);
+            match r {
+                Ok((i, _)) => eprintln!(concat!("OK  ", stringify!($fun), " @ {:?}"), i),
+                Err(_) => eprintln!(concat!("ERR ", stringify!($fun), " @ {:?}"), i),
+            }
+            r
+        }
+    };
+}
+
 /// Invoke the given parser function with the passed in arguments.
 ///
 /// - **Syntax:** `call!(FUNCTION, ARGS...)`
 ///
 ///   where the signature of the function is `fn(&[U], ARGS...) -> IPResult<&[U], T>`
 /// - **Output:** `T`, the result of invoking the function `FUNCTION`
+#[cfg(not(feature = "verbose-trace"))]
 #[macro_export]
 macro_rules! call {
     ($i:expr, $fun:expr $(, $args:expr)*) => {
