OK, wenn du das mit Records machen willst geht das auch. Du musst dann deine "Nutzlast" als Zeiger auf ein Record definieren. Entweder untypisiert oder, analog zu der
OOP-Variante, einen Record mit varablem Anteil anlegen.
Ich würde dir aber schwer zu der
OOP-Variante raten. Dort sparst du dir u.U. die ewigen Typabfragen, indem du
Polymorphie verwendest.