add metadata reader for datums, and stub for dispatch macros
add meta() and with_meta() methods
add stuff for metadata reader