core/fn and macros/fn handle metadata correctly; added a test