writing macros for arrays and dictionaries, boxing primitives inside of collections