diff --git a/docs/design.md b/docs/design.md
index c29d3fb422a8c19db59f47748d06851e70c5ec51..5bac2d5c3b6e09c5eb2c8581f236cab490c297eb 100644
--- a/docs/design.md
+++ b/docs/design.md
@@ -22,10 +22,10 @@ to get a backtrace.
 
 ## Serialisation/deserialisation
 
-Previously the code used serde with a custom `Serializer`/`Deserializer`. That worked
+Previously the code used `serde` with a custom `Serializer`/`Deserializer`. That worked
 fine for serializing and `derive(Deserialize)`, but deserializing enums was a pain.
 For types like `packets::ChannelRequest`
-the deserializer had to stash the channel request type string from the parent struct somewhere,
+the deserializer had to stash the channel request type string from the `ChannelRequest` struct somewhere,
 then use that later when deserialising the `ChannelReqType` enum. Other response packets like number 60 `Userauth60`
 mean completely different things depending on the previous request, but that state is hard to pass through
 the deserializer.
diff --git a/sshproto/src/sshnames.rs b/sshproto/src/sshnames.rs
index 5a535bad754c6937011bd8f80280784e0c17da64..38296bc48d7197f889240304025f58fc07cb7a30 100644
--- a/sshproto/src/sshnames.rs
+++ b/sshproto/src/sshnames.rs
@@ -1,6 +1,9 @@
 //! Named SSH algorithms, methods and extensions. This module also serves as
 //! an index of SSH specifications.
 
+//! Some identifiers are also listed directly in `packet.rs` derive attributes.
+//! Packet numbers are listed in `packet.rs`.
+
 /// [RFC8731](https://tools.ietf.org/html/rfc8731)
 pub const SSH_NAME_CURVE25519: &str = "curve25519-sha256";
 /// An older alias prior to standardisation. Eventually could be removed
@@ -47,3 +50,5 @@ pub const SSH_AUTHMETHOD_PUBLICKEY: &str = "publickey";
 /// [RFC4256](https://tools.ietf.org/html/rfc4256)
 pub const SSH_AUTHMETHOD_INTERACTIVE: &str = "keyboard-interactive";
 
+/// [RFC4254](https://tools.ietf.org/html/rfc4254)
+pub const SSH_EXTENDED_DATA_STDERR: u32 = 1;