diff --git a/src/expr.rs b/src/expr.rs
index e50cf3a..6ce0390 100644
--- a/src/expr.rs
+++ b/src/expr.rs
@@ -1,8 +1,7 @@
 use super::*;
 use delimited::Delimited;
-#[cfg(feature = "full")]
 use proc_macro2::Span;
-#[cfg(feature = "full")]
+#[cfg(feature = "extra-traits")]
 use std::hash::{Hash, Hasher};
 
 ast_enum_of_structs! {
@@ -423,7 +422,6 @@
     }
 }
 
-#[cfg(feature = "full")]
 ast_enum! {
     /// A struct or tuple struct field accessed in a struct literal or field
     /// expression.
@@ -435,7 +433,6 @@
     }
 }
 
-#[cfg(feature = "full")]
 ast_struct! {
     /// The index of an unnamed tuple struct field.
     pub struct Index #manual_extra_traits {
@@ -444,17 +441,27 @@
     }
 }
 
-#[cfg(feature = "full")]
+impl From<usize> for Index {
+    fn from(index: usize) -> Index {
+        assert!(index < std::u32::MAX as usize);
+        Index {
+            index: index as u32,
+            span: Span::default(),
+        }
+    }
+}
+
+#[cfg(feature = "extra-traits")]
 impl Eq for Index {}
 
-#[cfg(feature = "full")]
+#[cfg(feature = "extra-traits")]
 impl PartialEq for Index {
     fn eq(&self, other: &Self) -> bool {
         self.index == other.index
     }
 }
 
-#[cfg(feature = "full")]
+#[cfg(feature = "extra-traits")]
 impl Hash for Index {
     fn hash<H: Hasher>(&self, state: &mut H) {
         self.index.hash(state);
diff --git a/src/gen/fold.rs b/src/gen/fold.rs
index 90a3393..9f4f9cb 100644
--- a/src/gen/fold.rs
+++ b/src/gen/fold.rs
@@ -209,7 +209,7 @@
 fn fold_impl_item_type(&mut self, i: ImplItemType) -> ImplItemType { fold_impl_item_type(self, i) }
 # [ cfg ( feature = "full" ) ]
 fn fold_impl_polarity(&mut self, i: ImplPolarity) -> ImplPolarity { fold_impl_polarity(self, i) }
-# [ cfg ( feature = "full" ) ]
+
 fn fold_index(&mut self, i: Index) -> Index { fold_index(self, i) }
 # [ cfg ( feature = "full" ) ]
 fn fold_item(&mut self, i: Item) -> Item { fold_item(self, i) }
@@ -255,7 +255,7 @@
 fn fold_local(&mut self, i: Local) -> Local { fold_local(self, i) }
 
 fn fold_macro(&mut self, i: Macro) -> Macro { fold_macro(self, i) }
-# [ cfg ( feature = "full" ) ]
+
 fn fold_member(&mut self, i: Member) -> Member { fold_member(self, i) }
 
 fn fold_meta_item(&mut self, i: MetaItem) -> MetaItem { fold_meta_item(self, i) }
@@ -1660,7 +1660,7 @@
         }
     }
 }
-# [ cfg ( feature = "full" ) ]
+
 pub fn fold_index<V: Folder + ?Sized>(_visitor: &mut V, _i: Index) -> Index {
     Index {
         index: _i . index,
@@ -2003,7 +2003,7 @@
         tokens: _i . tokens,
     }
 }
-# [ cfg ( feature = "full" ) ]
+
 pub fn fold_member<V: Folder + ?Sized>(_visitor: &mut V, _i: Member) -> Member {
     use ::Member::*;
     match _i {
diff --git a/src/gen/visit.rs b/src/gen/visit.rs
index 1a9609e..3e57446 100644
--- a/src/gen/visit.rs
+++ b/src/gen/visit.rs
@@ -205,7 +205,7 @@
 fn visit_impl_item_type(&mut self, i: &'ast ImplItemType) { visit_impl_item_type(self, i) }
 # [ cfg ( feature = "full" ) ]
 fn visit_impl_polarity(&mut self, i: &'ast ImplPolarity) { visit_impl_polarity(self, i) }
-# [ cfg ( feature = "full" ) ]
+
 fn visit_index(&mut self, i: &'ast Index) { visit_index(self, i) }
 # [ cfg ( feature = "full" ) ]
 fn visit_item(&mut self, i: &'ast Item) { visit_item(self, i) }
@@ -251,7 +251,7 @@
 fn visit_local(&mut self, i: &'ast Local) { visit_local(self, i) }
 
 fn visit_macro(&mut self, i: &'ast Macro) { visit_macro(self, i) }
-# [ cfg ( feature = "full" ) ]
+
 fn visit_member(&mut self, i: &'ast Member) { visit_member(self, i) }
 
 fn visit_meta_item(&mut self, i: &'ast MetaItem) { visit_meta_item(self, i) }
@@ -1320,7 +1320,7 @@
         }
     }
 }
-# [ cfg ( feature = "full" ) ]
+
 pub fn visit_index<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Index) {
     // Skipped field _i . index;
     _visitor.visit_span(& _i . span);
@@ -1587,7 +1587,7 @@
     tokens_helper(_visitor, &(& _i . bang_token).0);
     // Skipped field _i . tokens;
 }
-# [ cfg ( feature = "full" ) ]
+
 pub fn visit_member<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Member) {
     use ::Member::*;
     match *_i {
diff --git a/src/gen/visit_mut.rs b/src/gen/visit_mut.rs
index a82f430..ec32603 100644
--- a/src/gen/visit_mut.rs
+++ b/src/gen/visit_mut.rs
@@ -205,7 +205,7 @@
 fn visit_impl_item_type_mut(&mut self, i: &mut ImplItemType) { visit_impl_item_type_mut(self, i) }
 # [ cfg ( feature = "full" ) ]
 fn visit_impl_polarity_mut(&mut self, i: &mut ImplPolarity) { visit_impl_polarity_mut(self, i) }
-# [ cfg ( feature = "full" ) ]
+
 fn visit_index_mut(&mut self, i: &mut Index) { visit_index_mut(self, i) }
 # [ cfg ( feature = "full" ) ]
 fn visit_item_mut(&mut self, i: &mut Item) { visit_item_mut(self, i) }
@@ -251,7 +251,7 @@
 fn visit_local_mut(&mut self, i: &mut Local) { visit_local_mut(self, i) }
 
 fn visit_macro_mut(&mut self, i: &mut Macro) { visit_macro_mut(self, i) }
-# [ cfg ( feature = "full" ) ]
+
 fn visit_member_mut(&mut self, i: &mut Member) { visit_member_mut(self, i) }
 
 fn visit_meta_item_mut(&mut self, i: &mut MetaItem) { visit_meta_item_mut(self, i) }
@@ -1320,7 +1320,7 @@
         }
     }
 }
-# [ cfg ( feature = "full" ) ]
+
 pub fn visit_index_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut Index) {
     // Skipped field _i . index;
     _visitor.visit_span_mut(& mut _i . span);
@@ -1587,7 +1587,7 @@
     tokens_helper(_visitor, &mut (& mut _i . bang_token).0);
     // Skipped field _i . tokens;
 }
-# [ cfg ( feature = "full" ) ]
+
 pub fn visit_member_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut Member) {
     use ::Member::*;
     match *_i {
diff --git a/src/ident.rs b/src/ident.rs
index 3861b41..5d85b48 100644
--- a/src/ident.rs
+++ b/src/ident.rs
@@ -109,6 +109,10 @@
             panic!("`_` is not a valid ident; use syn::token::Underscore");
         }
 
+        if s.bytes().all(|digit| digit >= b'0' && digit <= b'9') {
+            panic!("ident cannot be a number, use syn::Index instead");
+        }
+
         fn xid_ok(s: &str) -> bool {
             let mut chars = s.chars();
             let first = chars.next().unwrap();
@@ -123,11 +127,7 @@
             true
         }
 
-        fn integer_ok(s: &str) -> bool {
-            s.bytes().all(|digit| digit >= b'0' && digit <= b'9')
-        }
-
-        if !(xid_ok(s) || integer_ok(s)) {
+        if !xid_ok(s) {
             panic!("{:?} is not a valid ident", s);
         }
 
diff --git a/src/lib.rs b/src/lib.rs
index 8350b7b..71f47cc 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -38,11 +38,11 @@
                ExprField, ExprForLoop, ExprGroup, ExprIf, ExprIfLet, ExprInPlace, ExprIndex,
                ExprLit, ExprLoop, ExprMacro, ExprMatch, ExprMethodCall, ExprParen, ExprPath, ExprRange,
                ExprRepeat, ExprReturn, ExprStruct, ExprTry, ExprTuple, ExprType,
-               ExprUnary, ExprUnsafe, ExprWhile, ExprWhileLet, ExprYield};
+               ExprUnary, ExprUnsafe, ExprWhile, ExprWhileLet, ExprYield, Index, Member};
 
 #[cfg(feature = "full")]
-pub use expr::{Arm, BindingMode, Block, CaptureBy, FieldPat, FieldValue, GenericMethodArgument, Index, Local,
-               Member, MethodTurbofish, Pat, PatBox, PatIdent, PatLit, PatPath, PatRange, PatRef, PatSlice,
+pub use expr::{Arm, BindingMode, Block, CaptureBy, FieldPat, FieldValue, GenericMethodArgument, Local,
+               MethodTurbofish, Pat, PatBox, PatIdent, PatLit, PatPath, PatRange, PatRef, PatSlice,
                PatStruct, PatTuple, PatTupleStruct, PatWild, RangeLimits, Stmt};
 
 mod generics;
diff --git a/syn_codegen/src/main.rs b/syn_codegen/src/main.rs
index 68ac85b..4307886 100644
--- a/syn_codegen/src/main.rs
+++ b/syn_codegen/src/main.rs
@@ -583,7 +583,7 @@
         let mut code = String::new();
         for (i, elem) in elems.items().enumerate() {
             let name = name.tokens();
-            let i = Ident::from(format!("{}", i));
+            let i = Index::from(i);
             let it = Owned(quote!((#name).#i));
             let val = visit(elem, lookup, kind, &it)
                 .unwrap_or_else(|| noop_visit(kind, &it));
@@ -861,8 +861,7 @@
                             .iter()
                             .enumerate()
                             .map(|(idx, el)| {
-                                // XXX: Make sure we don't get the usize suffix!
-                                let id = Ident::from(format!("{}", idx));
+                                let id = Index::from(idx);
                                 (*el.item(), quote!(_i.#id))
                             })
                             .collect()
