Regarding "malformed" messages - this is different from "robustness principle" expressed in https://sdk.ably.com/builds/ably/specification/main/features/#RSF1 - which only mentions "unrecognised attributes or enum values". We should also decide if we want the spec to handle cases where messages have missing fields or where "recognised" fields have incorrect type/do not make sense in the current context (e.g. mismatched objectIds in Object messages).