# region chaos
# define macro() 1
# define scope() ::
# define indirect(a, b) a chaos::scope() b
# endregion
//#pragma wave trace(enable)
chaos::indirect(chaos, macro)() // chaos :: macro()
# region chaos
# define split(i, im) \
::chaos::primitive_cat( \
::chaos::split_, i \
)(im) \
/**/
# define split_0(a, b) a
# define split_1(a, b) b
#
# define primitive_cat(a, b) a ## b
# endregion
#define intermediate x, y
#pragma wave trace(enable)
chaos::split(0, intermediate) // x