how will passing abritary data work, i.e. how would you know which type of data is in there if you later retrieve it?