Simplify keyword parsing
diff --git a/src/data.rs b/src/data.rs
index 2f1cca7..fdcc4e9 100644
--- a/src/data.rs
+++ b/src/data.rs
@@ -132,10 +132,7 @@
     ));
 
     named!(pub visibility -> Visibility, alt!(
-        do_parse!(
-            keyword!("pub") >>
-            (Visibility::Public)
-        )
+        keyword!("pub") => { |_| Visibility::Public }
         |
         epsilon!() => { |_| Visibility::Inherited }
     ));
diff --git a/src/item.rs b/src/item.rs
index 02a5ca7..874455f 100644
--- a/src/item.rs
+++ b/src/item.rs
@@ -403,19 +403,13 @@
     ));
 
     named!(constness -> Constness, alt!(
-        do_parse!(
-            keyword!("const") >>
-            (Constness::Const)
-        )
+        keyword!("const") => { |_| Constness::Const }
         |
         epsilon!() => { |_| Constness::NotConst }
     ));
 
     named!(unsafety -> Unsafety, alt!(
-        do_parse!(
-            keyword!("unsafe") >>
-            (Unsafety::Unsafe)
-        )
+        keyword!("unsafe") => { |_| Unsafety::Unsafe }
         |
         epsilon!() => { |_| Unsafety::Normal }
     ));
diff --git a/src/ty.rs b/src/ty.rs
index 11726a2..d7f86f7 100644
--- a/src/ty.rs
+++ b/src/ty.rs
@@ -328,10 +328,7 @@
     ));
 
     named!(pub mutability -> Mutability, alt!(
-        do_parse!(
-            keyword!("mut") >>
-            (Mutability::Mutable)
-        )
+        keyword!("mut") => { |_| Mutability::Mutable }
         |
         epsilon!() => { |_| Mutability::Immutable }
     ));