preference:set-un/marshall is used to specify marshalling and unmarshalling functions for the preference symbol. marshall will be called when the users saves their preferences to turn the preference value for symbol into a printable value. unmarshall will be called when the user's preferences are read from the file to transform the printable value into it's internal representation. If preference:set-un/marshall is never called for a particular preference, the values of that preference are assumed to be printable.
preference:set-un/marshall must be called before calling preferences:get% or preferences:set-default%.