Lift parse.rs and lookahead.rs into syn
diff --git a/src/group.rs b/src/group.rs
index 77a9cc6..3e03766 100644
--- a/src/group.rs
+++ b/src/group.rs
@@ -1,7 +1,7 @@
 use proc_macro2::{Delimiter, Span};
 
 use error::Result;
-use next::parse::ParseBuffer;
+use parse::ParseBuffer;
 use token;
 
 pub struct Parens<'a> {
@@ -69,7 +69,7 @@
 #[macro_export]
 macro_rules! parenthesized {
     ($content:ident in $cursor:expr) => {
-        match $crate::next::parse::ParseBuffer::parse_parens(&$cursor) {
+        match $crate::parse::ParseBuffer::parse_parens(&$cursor) {
             $crate::export::Ok(parens) => {
                 $content = parens.content;
                 parens.token
@@ -86,16 +86,15 @@
 /// ```rust
 /// # extern crate syn;
 /// #
-/// use syn::{braced, Token};
-/// use syn::next::{token, Ident};
-/// use syn::next::parse::{Parse, ParseStream, Result};
+/// use syn::{braced, token, Ident, Token};
+/// use syn::parse::{Parse, ParseStream, Result};
 /// #
 /// # mod example {
 /// #     use super::{syn, braced, token, Ident, Parse, ParseStream, Result};
 /// #
 /// #     macro_rules! Token {
 /// #         (struct) => {
-/// #             syn::next::token::Struct
+/// #             syn::token::Struct
 /// #         };
 /// #     }
 /// #
@@ -132,7 +131,7 @@
 #[macro_export]
 macro_rules! braced {
     ($content:ident in $cursor:expr) => {
-        match $crate::next::parse::ParseBuffer::parse_braces(&$cursor) {
+        match $crate::parse::ParseBuffer::parse_braces(&$cursor) {
             $crate::export::Ok(braces) => {
                 $content = braces.content;
                 braces.token
@@ -149,7 +148,7 @@
 #[macro_export]
 macro_rules! bracketed {
     ($content:ident in $cursor:expr) => {
-        match $crate::next::parse::ParseBuffer::parse_brackets(&$cursor) {
+        match $crate::parse::ParseBuffer::parse_brackets(&$cursor) {
             $crate::export::Ok(brackets) => {
                 $content = brackets.content;
                 brackets.token
diff --git a/src/lib.rs b/src/lib.rs
index 793d256..9d90ab1 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -577,6 +577,12 @@
 pub mod next;
 
 #[cfg(feature = "parsing")]
+mod lookahead;
+
+#[cfg(feature = "parsing")]
+pub mod parse;
+
+#[cfg(feature = "parsing")]
 #[macro_use]
 mod group;
 
@@ -590,7 +596,7 @@
 use proc_macro2::Span;
 
 #[cfg(feature = "parsing")]
-pub mod error;
+mod error;
 #[cfg(feature = "parsing")]
 use error::Error;
 
diff --git a/src/next/lookahead.rs b/src/lookahead.rs
similarity index 100%
rename from src/next/lookahead.rs
rename to src/lookahead.rs
diff --git a/src/next/mod.rs b/src/next.rs
similarity index 92%
rename from src/next/mod.rs
rename to src/next.rs
index ba4c2c6..c8022bf 100644
--- a/src/next/mod.rs
+++ b/src/next.rs
@@ -1,9 +1,3 @@
-#[macro_use]
-pub mod parse;
-
-// FIXME
-pub mod lookahead;
-
 use std::str::FromStr;
 
 use buffer::TokenBuffer;
@@ -12,7 +6,7 @@
 use proc_macro2::{self, Span};
 
 use error::Result;
-use self::parse::{Parse, ParseBuffer};
+use parse::{Parse, ParseBuffer};
 
 /// Parse tokens of source code into the chosen syntax tree node.
 #[cfg(feature = "proc-macro")]
@@ -44,7 +38,7 @@
 /// #
 /// use proc_macro::TokenStream;
 /// use syn::parse_macro_input;
-/// use syn::next::parse::{Parse, ParseStream, Result};
+/// use syn::parse::{Parse, ParseStream, Result};
 ///
 /// struct MyMacroInput {
 ///     /* ... */
diff --git a/src/next/parse.rs b/src/parse.rs
similarity index 97%
rename from src/next/parse.rs
rename to src/parse.rs
index 7e5f310..cb4eec0 100644
--- a/src/next/parse.rs
+++ b/src/parse.rs
@@ -7,10 +7,11 @@
 use std::ops::Deref;
 
 use buffer::Cursor;
-use error::{self, Error, Result};
+use error;
 use proc_macro2::{Ident, Span};
 
-pub use super::lookahead::{Lookahead1, Peek};
+pub use error::{Error, Result};
+pub use lookahead::{Lookahead1, Peek};
 
 /// Parsing interface implemented by all types that can be parsed in a default
 /// way from a token stream.
diff --git a/src/synom.rs b/src/synom.rs
index ecf2f56..9f182d7 100644
--- a/src/synom.rs
+++ b/src/synom.rs
@@ -161,7 +161,7 @@
 pub use error::{PResult, Error};
 
 use buffer::{Cursor, TokenBuffer};
-use next;
+use parse;
 
 /// Parsing interface implemented by all types that can be parsed in a default
 /// way from a token stream.
@@ -208,10 +208,10 @@
     }
 }
 
-impl<T> Synom for T where T: next::parse::Parse {
+impl<T> Synom for T where T: parse::Parse {
     fn parse(input: Cursor) -> PResult<Self> {
-        let state = next::parse::ParseBuffer::new(Span::call_site(), input);
-        match <T as next::parse::Parse>::parse(&state) {
+        let state = parse::ParseBuffer::new(Span::call_site(), input);
+        match <T as parse::Parse>::parse(&state) {
             Ok(node) => Ok((node, state.cursor())),
             Err(err) => Err(err),
         }
diff --git a/src/token.rs b/src/token.rs
index 7b1e320..1ce0bc2 100644
--- a/src/token.rs
+++ b/src/token.rs
@@ -116,9 +116,9 @@
 #[cfg(feature = "parsing")]
 use error::Result;
 #[cfg(feature = "parsing")]
-use next::lookahead;
+use lookahead;
 #[cfg(feature = "parsing")]
-use next::parse::{Lookahead1, Parse, ParseStream};
+use parse::{Lookahead1, Parse, ParseStream};
 use span::IntoSpans;
 
 /// Marker trait for types that represent single tokens.
@@ -775,7 +775,7 @@
 
     use buffer::Cursor;
     use error::{Error, Result};
-    use next::parse::ParseStream;
+    use parse::ParseStream;
     use parse_error;
     use span::FromSpans;
     use synom::PResult;
diff --git a/tests/test_ident.rs b/tests/test_ident.rs
index c2e2d9e..498e8be 100644
--- a/tests/test_ident.rs
+++ b/tests/test_ident.rs
@@ -11,7 +11,7 @@
 
 use proc_macro2::{Ident, Span, TokenStream};
 use std::str::FromStr;
-use syn::error::Error;
+use syn::parse::Error;
 
 fn parse(s: &str) -> Result<Ident, Error> {
     syn::parse2(TokenStream::from_str(s).unwrap())