Move extern fn signature fields to struct

This will allow reusing the Signature struct for the type of function
pointers.
diff --git a/syntax/parse.rs b/syntax/parse.rs
index 00ea15c..e07ee25 100644
--- a/syntax/parse.rs
+++ b/syntax/parse.rs
@@ -1,5 +1,6 @@
 use crate::syntax::{
-    attrs, error, Api, Atom, Doc, ExternFn, ExternType, Lang, Receiver, Ref, Struct, Ty1, Type, Var,
+    attrs, error, Api, Atom, Doc, ExternFn, ExternType, Lang, Receiver, Ref, Signature, Struct,
+    Ty1, Type, Var,
 };
 use proc_macro2::Ident;
 use quote::quote;
@@ -207,12 +208,14 @@
     Ok(ExternFn {
         lang,
         doc,
-        fn_token,
         ident,
-        receiver,
-        args,
-        ret,
-        throws,
+        sig: Signature {
+            fn_token,
+            receiver,
+            args,
+            ret,
+            throws,
+        },
         semi_token,
     })
 }