Change:
I'm finding "CoAP over protocol" to be too verbose - especially in text that references or compares multiple protocol bindings. Can we agree on a shorthand? CoAP protocol such as CoAP UDP, CoAP TCP/TLS, CoAP WebSockets CoAP+protocol such as CoAP+UDP, CoAP+TCP/TLS, CoAP+WebSockets
The URI scheme component provides a reasonably good shorthand form to reflect the protocol bindings and the "Terminology" section could perhaps reflect that? It would be approximately lead to something like the following text: In this document, references to the various transport bindings for conveying CoAP messages adopt the following abbreviations: CoAP+TCP refers to CoAP over TCP, and CoAP+WS refers to CoAP over WebSockets. Using "CoAPS+" instead of "CoAP+" implies the use of their corresponding TLS-based secure counterparts. CoAP and CoAPS refer to CoAP over UDP and CoAP over DTLS, respectively.

Discussion:
2. <del> The request/response interaction model of CoAP TCP/TLS is the same as CoAP UDP.  The primary differences are in the message layer.  CoAP UDP supports optional reliability by defining four types of messages: Confirmable, Non-confirmable, Acknowledgement, and Reset.  TCP eliminates the need for the message layer to support reliability.  As a result, message types are not defined in CoAP TCP/TLS. </del> <ins> The request/response interaction model of CoAP over TCP is the same as CoAP over UDP.  The primary differences are in the message layer. CoAP over UDP supports optional reliability by defining four types of messages: Confirmable, Non-confirmable, Acknowledgement, and Reset. TCP eliminates the need for the message layer to support reliability. As a result, message types are not defined in CoAP over TCP. </ins> 2.1. <del> Conceptually, CoAP TCP/TLS replaces most of the CoAP UDP message layer with a framing mechanism on top of the byte stream provided by TCP/TLS, conveying the length information for each message that on datagram transports is provided by the UDP/DTLS datagram layer. </del> <ins> Conceptually, CoAP over TCP replaces most of the CoAP over UDP message layer with a framing mechanism on top of the byte stream provided by TCP/TLS, conveying the length information for each message that on datagram transports is provided by the UDP/DTLS datagram layer. </ins> <del> TCP ensures reliable message transmission, so the CoAP TCP/TLS </del> <ins> TCP ensures reliable message transmission, so the CoAP over TCP </ins> messaging layer is not required to support acknowledgements or detection of duplicate messages.  As a result, both the Type and Message ID fields are no longer required and are removed from the

the individual messages separate and for providing length information. <del> The CoAP over TCP/TLS message format is very similar to the format </del> <ins> The CoAP over TCP message format is very similar to the format </ins> specified for CoAP over UDP.  The differences are as follows: Since the underlying TCP connection provides retransmissions and

4.4. <del> In CoAP over TCP/TLS, Empty messages can always be sent and will be </del> <ins> In CoAP over TCP, Empty messages can always be sent and will be </ins> ignored.  This provides a basic keep-alive function that can refresh NAT bindings.  In contrast, Ping and Pong messages are a bidirectional exchange.