Please explain how this macro works - EVERY_N_MILLISECONDS( 20 ){}

It is part of FastLED, and I'd like to use it elsewhere rather than "If (millis() - lastMillis > x)..., but I don't understand how it works and its, definition, which I think may be one of the defines, below.
Thanks in advance. If there is code around that has similar functionality, please point me in that direction.

#define EVERY_N_MILLIS(N) EVERY_N_MILLIS_I(CONCAT_MACRO(PER, __COUNTER__ ),N)
#define EVERY_N_MILLISECONDS(N) EVERY_N_MILLIS(N)
#define EVERY_N_MILLISECONDS_I(NAME,N) EVERY_N_MILLIS_I(NAME,N)

Well, there are two ways to understand this code.

First, read the documentation. Yeah, I know - we can all stop laughing now.

Second, find out what CONCAT_MACRO, PER, and COUNTER are.

Thanks for the direction.