Round trip testing
diff --git a/src/lib.rs b/src/lib.rs
index df62d75..50a754c 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -19,6 +19,7 @@
 mod attr;
 pub use attr::{
     Attribute,
+    AttrStyle,
     MetaItem,
 };
 
@@ -65,6 +66,11 @@
     WhereRegionPredicate,
 };
 
+#[cfg(feature = "full")]
+mod krate;
+#[cfg(feature = "full")]
+pub use krate::Crate;
+
 mod ident;
 pub use ident::{
     Ident,
@@ -155,13 +161,18 @@
     use nom;
 
     #[cfg(feature = "full")]
-    use {expr, item};
+    use {expr, item, krate};
 
     pub fn parse_macro_input(input: &str) -> Result<MacroInput, String> {
         unwrap("macro input", macro_input::parsing::macro_input, input)
     }
 
     #[cfg(feature = "full")]
+    pub fn parse_crate(input: &str) -> Result<Crate, String> {
+        unwrap("crate", krate::parsing::krate, input)
+    }
+
+    #[cfg(feature = "full")]
     pub fn parse_item(input: &str) -> Result<Item, String> {
         unwrap("item", item::parsing::item, input)
     }