Do not reuse FnDecl for closures
diff --git a/src/ty.rs b/src/ty.rs
index 2fe4ecf..09ee041 100644
--- a/src/ty.rs
+++ b/src/ty.rs
@@ -339,7 +339,7 @@
         /// type would be inserted.
         Default,
         /// Everything else
-        Type(Type, Token![->]),
+        Type(Box<Type>, Token![->]),
     }
 }
 
@@ -597,7 +597,7 @@
             do_parse!(
                 arrow: punct!(->) >>
                 ty: syn!(Type) >>
-                (ReturnType::Type(ty, arrow))
+                (ReturnType::Type(Box::new(ty), arrow))
             )
             |
             epsilon!() => { |_| ReturnType::Default }