# Map and Product There are often mulitple flavors of the map and product macros signified by the `EVAL` and `SEQ` components in the macro name. `EVAL` indicates that the macro recursively expands the result which is typically the desired result. `SEQ` indicates the the macro operates on sequences as opposed to lists. ## Map ```{doxygendefine} CORE_PP_EVAL_MAP ``` ```{doxygendefine} CORE_PP_EVAL_MAP_SEQ ``` ```{doxygendefine} CORE_PP_EVAL_MAPN ``` ```{doxygendefine} CORE_PP_EVAL_MAPN_SEQ ``` ```{doxygendefine} CORE_PP_EVAL_MAP_INFIX ``` ```{doxygendefine} CORE_PP_EVAL_MAP_INFIX_SEQ ``` ```{doxygendefine} CORE_PP_EVAL_MAP_WITH ``` ```{doxygendefine} CORE_PP_EVAL_MAP_WITH_SEQ ``` ## Product ```{doxygendefine} CORE_PP_EVAL_CARTESIAN_PRODUCT_SEQ ```