diff --git a/codegen/src/main.rs b/codegen/src/main.rs
index ccfdf56..8bf9d4e 100644
--- a/codegen/src/main.rs
+++ b/codegen/src/main.rs
@@ -22,9 +22,9 @@
 extern crate syn;
 
 use quote::ToTokens;
-use syn::{Attribute, Data, DataStruct, DeriveInput, Item};
+use syn::{Attribute, Data, DataStruct, DeriveInput, Ident, Item};
 use failure::{err_msg, Error};
-use proc_macro2::{Ident, Span, TokenStream};
+use proc_macro2::{Span, TokenStream};
 
 use std::io::{Read, Write};
 use std::fmt::{self, Debug};
@@ -189,7 +189,7 @@
     use syn;
     use syn::synom::*;
     use syn::*;
-    use proc_macro2::{TokenStream, Ident};
+    use proc_macro2::TokenStream;
 
     // Parses #full - returns #[cfg(feature = "full")] if it is present, and
     // nothing otherwise.
@@ -335,7 +335,7 @@
     use syn::punctuated::Punctuated;
     use quote::ToTokens;
     use std::fmt::{self, Display};
-    use proc_macro2::{Ident, Span, TokenStream};
+    use proc_macro2::{Span, TokenStream};
 
     #[derive(Default)]
     pub struct State {
@@ -1017,7 +1017,7 @@
 use *;
 #[cfg(any(feature = \"full\", feature = \"derive\"))]
 use token::{{Brace, Bracket, Paren, Group}};
-use proc_macro2::{{Span, Ident}};
+use proc_macro2::Span;
 #[cfg(any(feature = \"full\", feature = \"derive\"))]
 use gen::helper::fold::*;
 
@@ -1078,7 +1078,7 @@
 use *;
 #[cfg(any(feature = \"full\", feature = \"derive\"))]
 use punctuated::Punctuated;
-use proc_macro2::{{Span, Ident}};
+use proc_macro2::Span;
 #[cfg(any(feature = \"full\", feature = \"derive\"))]
 use gen::helper::visit::*;
 
@@ -1116,7 +1116,7 @@
 use *;
 #[cfg(any(feature = \"full\", feature = \"derive\"))]
 use punctuated::Punctuated;
-use proc_macro2::{{Span, Ident}};
+use proc_macro2::Span;
 #[cfg(any(feature = \"full\", feature = \"derive\"))]
 use gen::helper::visit_mut::*;
 
diff --git a/src/attr.rs b/src/attr.rs
index 7b788cb..6f50e0a 100644
--- a/src/attr.rs
+++ b/src/attr.rs
@@ -11,7 +11,7 @@
 
 use std::iter;
 
-use proc_macro2::{Delimiter, Spacing, TokenStream, TokenTree, Ident};
+use proc_macro2::{Delimiter, Spacing, TokenStream, TokenTree};
 
 #[cfg(feature = "extra-traits")]
 use std::hash::{Hash, Hasher};
diff --git a/src/data.rs b/src/data.rs
index 93a66a1..fbbdb70 100644
--- a/src/data.rs
+++ b/src/data.rs
@@ -6,8 +6,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use proc_macro2::Ident;
-
 use super::*;
 use punctuated::Punctuated;
 
diff --git a/src/derive.rs b/src/derive.rs
index 7964178..ba60f8d 100644
--- a/src/derive.rs
+++ b/src/derive.rs
@@ -7,7 +7,6 @@
 // except according to those terms.
 
 use super::*;
-use proc_macro2::Ident;
 use punctuated::Punctuated;
 
 ast_struct! {
diff --git a/src/expr.rs b/src/expr.rs
index 8d94863..ac55c98 100644
--- a/src/expr.rs
+++ b/src/expr.rs
@@ -7,7 +7,7 @@
 // except according to those terms.
 
 use super::*;
-use proc_macro2::{Span, TokenStream, Ident};
+use proc_macro2::{Span, TokenStream};
 use punctuated::Punctuated;
 #[cfg(feature = "extra-traits")]
 use std::hash::{Hash, Hasher};
diff --git a/src/gen/fold.rs b/src/gen/fold.rs
index ee7120b..2cd760d 100644
--- a/src/gen/fold.rs
+++ b/src/gen/fold.rs
@@ -10,7 +10,7 @@
 use *;
 #[cfg(any(feature = "full", feature = "derive"))]
 use token::{Brace, Bracket, Paren, Group};
-use proc_macro2::{Span, Ident};
+use proc_macro2::Span;
 #[cfg(any(feature = "full", feature = "derive"))]
 use gen::helper::fold::*;
 
diff --git a/src/gen/visit.rs b/src/gen/visit.rs
index e363944..3591bb7 100644
--- a/src/gen/visit.rs
+++ b/src/gen/visit.rs
@@ -8,7 +8,7 @@
 use *;
 #[cfg(any(feature = "full", feature = "derive"))]
 use punctuated::Punctuated;
-use proc_macro2::{Span, Ident};
+use proc_macro2::Span;
 #[cfg(any(feature = "full", feature = "derive"))]
 use gen::helper::visit::*;
 
diff --git a/src/gen/visit_mut.rs b/src/gen/visit_mut.rs
index 668f172..848e348 100644
--- a/src/gen/visit_mut.rs
+++ b/src/gen/visit_mut.rs
@@ -8,7 +8,7 @@
 use *;
 #[cfg(any(feature = "full", feature = "derive"))]
 use punctuated::Punctuated;
-use proc_macro2::{Span, Ident};
+use proc_macro2::Span;
 #[cfg(any(feature = "full", feature = "derive"))]
 use gen::helper::visit_mut::*;
 
diff --git a/src/generics.rs b/src/generics.rs
index e1e1cc5..4c2858d 100644
--- a/src/generics.rs
+++ b/src/generics.rs
@@ -7,7 +7,6 @@
 // except according to those terms.
 
 use super::*;
-use proc_macro2::Ident;
 use punctuated::{Iter, IterMut, Punctuated};
 
 ast_struct! {
diff --git a/src/item.rs b/src/item.rs
index dcbe142..226e102 100644
--- a/src/item.rs
+++ b/src/item.rs
@@ -8,7 +8,7 @@
 
 use super::*;
 use derive::{Data, DeriveInput};
-use proc_macro2::{TokenStream, Ident};
+use proc_macro2::TokenStream;
 use punctuated::Punctuated;
 use token::{Brace, Paren};
 
diff --git a/src/lib.rs b/src/lib.rs
index 1f23701..beababe 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -286,6 +286,8 @@
 #[macro_use]
 pub mod token;
 
+pub use proc_macro2::Ident;
+
 #[cfg(any(feature = "full", feature = "derive"))]
 mod attr;
 #[cfg(any(feature = "full", feature = "derive"))]
diff --git a/src/parsers.rs b/src/parsers.rs
index ebe229c..810a112 100644
--- a/src/parsers.rs
+++ b/src/parsers.rs
@@ -251,10 +251,8 @@
 /// ```rust
 /// #[macro_use]
 /// extern crate syn;
-/// extern crate proc_macro2;
 ///
-/// use proc_macro2::Ident;
-/// use syn::MacroDelimiter;
+/// use syn::{Ident, MacroDelimiter};
 /// use syn::token::{Paren, Bracket, Brace};
 /// use syn::synom::Synom;
 ///
@@ -418,10 +416,8 @@
 /// ```rust
 /// #[macro_use]
 /// extern crate syn;
-/// extern crate proc_macro2;
 ///
-/// use proc_macro2::Ident;
-/// use syn::Item;
+/// use syn::{Ident, Item};
 /// use syn::token::Brace;
 /// use syn::synom::Synom;
 ///
@@ -530,9 +526,8 @@
 /// ```rust
 /// #[macro_use]
 /// extern crate syn;
-/// extern crate proc_macro2;
 ///
-/// use proc_macro2::Ident;
+/// use syn::Ident;
 /// use syn::token::Brace;
 /// use syn::synom::Synom;
 ///
@@ -625,9 +620,8 @@
 /// ```rust
 /// #[macro_use]
 /// extern crate syn;
-/// extern crate proc_macro2;
 ///
-/// use proc_macro2::Ident;
+/// use syn::Ident;
 /// use syn::token::Brace;
 /// use syn::synom::Synom;
 ///
@@ -1229,10 +1223,8 @@
 /// ```rust
 /// #[macro_use]
 /// extern crate syn;
-/// extern crate proc_macro2;
 ///
-/// use proc_macro2::Ident;
-/// use syn::Item;
+/// use syn::{Ident, Item};
 /// use syn::token::Brace;
 /// use syn::synom::Synom;
 ///
@@ -1284,9 +1276,8 @@
 /// ```rust
 /// #[macro_use]
 /// extern crate syn;
-/// extern crate proc_macro2;
 ///
-/// use proc_macro2::Ident;
+/// use syn::Ident;
 /// use syn::synom::Synom;
 ///
 /// struct Flag {
@@ -1311,11 +1302,7 @@
 #[macro_export]
 macro_rules! custom_keyword {
     ($i:expr, $keyword:ident) => {
-        match <
-            $crate::parsers::__custom_keyword_inner::Ident
-            as
-            $crate::synom::Synom
-        >::parse($i) {
+        match <$crate::Ident as $crate::synom::Synom>::parse($i) {
             ::std::result::Result::Err(err) => ::std::result::Result::Err(err),
             ::std::result::Result::Ok((token, i)) => {
                 if token.to_string() == stringify!($keyword) {
@@ -1328,11 +1315,6 @@
     };
 }
 
-#[doc(hidden)]
-pub mod __custom_keyword_inner {
-    pub use proc_macro2::Ident;
-}
-
 /// Parse inside of `(` `)` parentheses.
 ///
 /// This macro parses a set of balanced parentheses and invokes a sub-parser on
diff --git a/src/path.rs b/src/path.rs
index 499ad25..7e83daf 100644
--- a/src/path.rs
+++ b/src/path.rs
@@ -7,7 +7,6 @@
 // except according to those terms.
 
 use super::*;
-use proc_macro2::Ident;
 use punctuated::Punctuated;
 
 ast_struct! {
diff --git a/src/token.rs b/src/token.rs
index 292e0da..7e07545 100644
--- a/src/token.rs
+++ b/src/token.rs
@@ -23,10 +23,8 @@
 //! ```
 //! # #[macro_use]
 //! # extern crate syn;
-//! # extern crate proc_macro2;
 //! #
-//! # use proc_macro2::Ident;
-//! # use syn::{Attribute, Visibility, Type, Expr};
+//! # use syn::{Attribute, Visibility, Ident, Type, Expr};
 //! #
 //! pub struct ItemStatic {
 //!     pub attrs: Vec<Attribute>,
@@ -60,11 +58,9 @@
 //! ```
 //! #[macro_use]
 //! extern crate syn;
-//! extern crate proc_macro2;
 //!
-//! use proc_macro2::Ident;
 //! use syn::synom::Synom;
-//! use syn::{Attribute, Visibility, Type, Expr};
+//! use syn::{Attribute, Visibility, Ident, Type, Expr};
 //! #
 //! # struct ItemStatic;
 //! # use syn::ItemStatic as SynItemStatic;
diff --git a/src/ty.rs b/src/ty.rs
index bd6fd06..3ca817b 100644
--- a/src/ty.rs
+++ b/src/ty.rs
@@ -7,7 +7,7 @@
 // except according to those terms.
 
 use super::*;
-use proc_macro2::{TokenStream, Ident};
+use proc_macro2::TokenStream;
 use punctuated::Punctuated;
 #[cfg(feature = "extra-traits")]
 use std::hash::{Hash, Hasher};
