TLV stream has to be the last data item in any message. This wouldn't be the case if a message has fields which are in turn structures with TLV fields, as was discovered by @crisdut in LNP-WG/lnp-node#66
Derive macro has somehow to prevent that from happening (not clear how though...).