Switch to Cursor in syn
diff --git a/src/lit.rs b/src/lit.rs
index c9b4229..659571e 100644
--- a/src/lit.rs
+++ b/src/lit.rs
@@ -105,21 +105,31 @@
 
     impl Synom for Lit {
         fn parse(input: Cursor) -> PResult<Self> {
-            let mut tokens = input.iter();
-            let token = match tokens.next() {
-                Some(token) => token,
-                None => return parse_error(),
-            };
-            let kind = match token.kind {
-                TokenKind::Literal(ref l) => LitKind::Other(l.clone()),
-                TokenKind::Word(ref s) if s.as_str() == "true" => LitKind::Bool(true),
-                TokenKind::Word(ref s) if s.as_str() == "false" => LitKind::Bool(false),
-                _ => return parse_error(),
-            };
-            Ok((tokens.as_slice(), Lit {
-                span: Span(token.span),
-                value: kind,
-            }))
+            match input.literal() {
+                Some((rest, span, lit)) => {
+                    Ok((rest, Lit {
+                        span: Span(span),
+                        value: LitKind::Other(lit)
+                    }))
+                }
+                _ => match input.word() {
+                    Some((rest, span, sym)) => {
+                        let kind = if sym.as_str() == "true" {
+                            LitKind::Bool(true)
+                        } else if sym.as_str() == "false" {
+                            LitKind::Bool(false)
+                        } else {
+                            return parse_error();
+                        };
+
+                        Ok((rest, Lit {
+                            span: Span(span),
+                            value: kind
+                        }))
+                    }
+                    _ => parse_error(),
+                }
+            }
         }
     }
 }