%(formataddr(me))\
 %(void(width))%(void(decode))%(putaddr Cc: )
 Fcc: +sent
-Subject: %<{subject}Re: %(void{subject})%(trim)%(decode)%>
+Subject: %<{subject}Re: %(putstr(trim(decode{subject})))%>
 %;
 %; Make References: and In-reply-to: fields for threading.
-%; Use (void), (trim) and (putstr) to eat trailing whitespace.
+%; Use (trim) to eat trailing whitespace.
 %;
 %<{message-id}In-reply-to: %{message-id}\n%>\
 %<{message-id}References: \
-%<{references}%(void{references})%(trim)%(putstr) %>\
-%(void{message-id})%(trim)%(putstr)\n%>\
+%<{references}%(trim{references})%(putstr) %>\
+%(trim{message-id})%(putstr)\n%>\
 Comments: In-reply-to \
 %<{from}%(void{from})%?(void{apparently-from})%|%(void{sender})%>\
-%(trim)%(decode)\n\
+%(putstr(trim(decode)))\n\
    message dated "%<(nodate{date})%{date}%|%(tws{date})%>."
 --------
 [%4(year{date})-%02(mon{date})-%02(mday{date}) \
 
 %<(nonnull)%(void(width))%(void(decode))%(putaddr Cc: )\n%>%>\
 %;
 Fcc: +sent
-Subject: %<{subject}Re: %(void{subject})%(trim)%(decode)%>
+Subject: %<{subject}Re: %(putstr(trim(decode{subject})))%>
 %;
 %; Make References: and In-reply-to: fields for threading.
-%; Use (void), (trim) and (putstr) to eat trailing whitespace.
+%; Use (trim) to eat trailing whitespace.
 %;
 %<{message-id}In-reply-to: %{message-id}\n%>\
 %<{message-id}References: \
-%<{references}%(void{references})%(trim)%(putstr) %>\
-%(void{message-id})%(trim)%(putstr)\n%>\
+%<{references}%(trim{references})%(putstr) %>\
+%(trim{message-id})%(putstr)\n%>\
 Comments: In-reply-to \
 %<{from}%(void{from})%?(void{apparently-from})%|%(void{sender})%>\
-%(trim)%(decode)\n\
+%(putstr(trim(decode)))\n\
    message dated "%<(nodate{date})%{date}%|%(tws{date})%>."
 --------
 [%4(year{date})-%02(mon{date})-%02(mday{date}) \
 
 .I str
 is used as the argument: which register is
 used depends on the function, as listed below.
+.\"  What is the difference between these two lines:
+.\"      %(void{comp})%(trim)%(putstr)
+.\"      %(putstr(trim{comp}))
+.\"  The latter can be used as a single expression for %<.
+.\"  It does make a difference for (decode) because in the former
+.\"  way, wrapping (decode) with (void) can be necessary.
+.\"  What is the prefered way?
 .PP
 Component escapes write the value of their message header in
 .IR str .