Constructing a midi event seems not to work when a data table is explicitly passed in. At the interactive console:
midi.Event(0, 3) -- returns cdata<struct MidiEvent>, ok
midi.Event(0, 3, {0x90, 0x30, 0x7f}) -- seems to return nothing, not even nil
Not a show-stopper as the bytes can be manually set, but it is confusing.