Converts the program to bytes using Borsh serialization.
@override List<int> toBytes() { return layout.serialize({"instruction": instruction, ...serialize()}); }