MessageParser: support arrays of custom types