| 
| #define  | EMPTY() | 
|   | 
| #define  | DEFER(id)   id EMPTY() | 
|   | 
| #define  | OBSTRUCT(id)   id DEFER(EMPTY)() | 
|   | 
| #define  | EXPAND(...)   __VA_ARGS__ | 
|   | 
| #define  | EVAL(...)   EVAL1(EVAL1(EVAL1(__VA_ARGS__))) | 
|   | 
| #define  | EVAL1(...)   EVAL2(EVAL2(EVAL2(__VA_ARGS__))) | 
|   | 
| #define  | EVAL2(...)   EVAL3(EVAL3(EVAL3(__VA_ARGS__))) | 
|   | 
| #define  | EVAL3(...)   EVAL4(EVAL4(EVAL4(__VA_ARGS__))) | 
|   | 
| #define  | EVAL4(...)   EVAL5(EVAL5(EVAL5(__VA_ARGS__))) | 
|   | 
| #define  | EVAL5(...)   __VA_ARGS__ | 
|   | 
| #define  | CAT(a, ...)   PRIMITIVE_CAT(a, __VA_ARGS__) | 
|   | 
| #define  | PRIMITIVE_CAT(a, ...)   a ## __VA_ARGS__ | 
|   | 
| #define  | CHECK_N(x,  n, ...)   n | 
|   | 
| #define  | CHECK(...)   CHECK_N(__VA_ARGS__, 0,) | 
|   | 
| #define  | NOT(x)   CHECK(PRIMITIVE_CAT(NOT_, x)) | 
|   | 
| #define  | NOT_0   ~, 1, | 
|   | 
| #define  | COMPL(b)   PRIMITIVE_CAT(COMPL_, b) | 
|   | 
| #define  | COMPL_0   1 | 
|   | 
| #define  | COMPL_1   0 | 
|   | 
| #define  | BOOL(x)   COMPL(NOT(x)) | 
|   | 
| #define  | IIF(c)   PRIMITIVE_CAT(IIF_, c) | 
|   | 
| #define  | IIF_0(t, ...)   __VA_ARGS__ | 
|   | 
| #define  | IIF_1(t, ...)   t | 
|   | 
| #define  | IF(c)   IIF(BOOL(c)) | 
|   | 
| #define  | WHILE(pred,  op,  cont, ...) | 
|   | 
| #define  | WHILE_INDIRECT()   WHILE | 
|   | 
| #define  | IS_0(x)   CHECK(PRIMITIVE_CAT(IS_0_, x)) | 
|   | 
| #define  | IS_0_0   ~, 1, | 
|   | 
| #define  | IS_1(x)   CHECK(PRIMITIVE_CAT(IS_1_, x)) | 
|   | 
| #define  | IS_1_1   ~, 1, | 
|   | 
| #define  | IIF_ELSE_2(c)   PRIMITIVE_CAT(IIF_ELSE_2_, c) | 
|   | 
| #define  | IIF_ELSE_2_0(t1,  t2,  f1,  f2, ...)   f1, f2 | 
|   | 
| #define  | IIF_ELSE_2_1(t1,  t2,  f1,  f2, ...)   t1, t2 | 
|   | 
| #define  | IF_ELSE_2(c)   IIF_ELSE_2(BOOL(c)) | 
|   | 
| #define  | DEC(x)   PRIMITIVE_CAT(DEC_, x) | 
|   | 
| #define  | DEC_0   0 | 
|   | 
| #define  | DEC_1   0 | 
|   | 
| #define  | DEC_2   1 | 
|   | 
| #define  | DEC_3   2 | 
|   | 
| #define  | DEC_4   3 | 
|   | 
| #define  | DEC_5   4 | 
|   | 
| #define  | DEC_6   5 | 
|   | 
| #define  | DEC_7   6 | 
|   | 
| #define  | DEC_8   7 | 
|   | 
| #define  | DEC_9   8 | 
|   | 
| #define  | DEC_10   9 | 
|   | 
| #define  | DEC_11   10 | 
|   | 
| #define  | DEC_12   11 | 
|   | 
| #define  | DEC_13   12 | 
|   | 
| #define  | DEC_14   13 | 
|   | 
| #define  | DEC_15   14 | 
|   | 
| #define  | DEC_16   15 | 
|   | 
| #define  | DEC_17   16 | 
|   | 
| #define  | DEC_18   17 | 
|   | 
| #define  | DEC_19   18 | 
|   | 
| #define  | DEC_20   19 | 
|   | 
| #define  | DEC_21   20 | 
|   | 
| #define  | DEC_22   21 | 
|   | 
| #define  | DEC_23   22 | 
|   | 
| #define  | DEC_24   23 | 
|   | 
| #define  | DEC_25   24 | 
|   | 
| #define  | DEC_26   25 | 
|   | 
| #define  | DEC_27   26 | 
|   | 
| #define  | DEC_28   27 | 
|   | 
| #define  | DEC_29   28 | 
|   | 
| #define  | DEC_30   29 | 
|   | 
| #define  | DEC_31   30 | 
|   | 
| #define  | DEC_32   31 | 
|   | 
| #define  | DEC_33   32 | 
|   | 
| #define  | DEC_34   33 | 
|   | 
| #define  | DEC_35   34 | 
|   | 
| #define  | DEC_36   35 | 
|   | 
| #define  | DEC_37   36 | 
|   | 
| #define  | DEC_38   37 | 
|   | 
| #define  | DEC_39   38 | 
|   | 
| #define  | DEC_40   39 | 
|   | 
| #define  | DEC_41   40 | 
|   | 
| #define  | DEC_42   41 | 
|   | 
| #define  | DEC_43   42 | 
|   | 
| #define  | DEC_44   43 | 
|   | 
| #define  | DEC_45   44 | 
|   | 
| #define  | DEC_46   45 | 
|   | 
| #define  | DEC_47   46 | 
|   | 
| #define  | DEC_48   47 | 
|   | 
| #define  | DEC_49   48 | 
|   | 
| #define  | DEC_50   49 | 
|   | 
| #define  | DEC_51   50 | 
|   | 
| #define  | DEC_52   51 | 
|   | 
| #define  | DEC_53   52 | 
|   | 
| #define  | DEC_54   53 | 
|   | 
| #define  | DEC_55   54 | 
|   | 
| #define  | DEC_56   55 | 
|   | 
| #define  | DEC_57   56 | 
|   | 
| #define  | DEC_58   57 | 
|   | 
| #define  | DEC_59   58 | 
|   | 
| #define  | DEC_60   59 | 
|   | 
| #define  | DEC_61   60 | 
|   | 
| #define  | DEC_62   61 | 
|   | 
| #define  | DEC_63   62 | 
|   | 
| #define  | DEC_64   63 | 
|   | 
| #define  | DEC_65   64 | 
|   | 
| #define  | DEC_66   65 | 
|   | 
| #define  | DEC_67   66 | 
|   | 
| #define  | DEC_68   67 | 
|   | 
| #define  | DEC_69   68 | 
|   | 
| #define  | DEC_70   69 | 
|   | 
| #define  | DEC_71   70 | 
|   | 
| #define  | DEC_72   71 | 
|   | 
| #define  | DEC_73   72 | 
|   | 
| #define  | DEC_74   73 | 
|   | 
| #define  | DEC_75   74 | 
|   | 
| #define  | DEC_76   75 | 
|   | 
| #define  | DEC_77   76 | 
|   | 
| #define  | DEC_78   77 | 
|   | 
| #define  | DEC_79   78 | 
|   | 
| #define  | DEC_80   79 | 
|   | 
| #define  | DEC_81   80 | 
|   | 
| #define  | DEC_82   81 | 
|   | 
| #define  | DEC_83   82 | 
|   | 
| #define  | DEC_84   83 | 
|   | 
| #define  | DEC_85   84 | 
|   | 
| #define  | DEC_86   85 | 
|   | 
| #define  | DEC_87   86 | 
|   | 
| #define  | DEC_88   87 | 
|   | 
| #define  | DEC_89   88 | 
|   | 
| #define  | DEC_90   89 | 
|   | 
| #define  | DEC_91   90 | 
|   | 
| #define  | DEC_92   91 | 
|   | 
| #define  | DEC_93   92 | 
|   | 
| #define  | DEC_94   93 | 
|   | 
| #define  | DEC_95   94 | 
|   | 
| #define  | DEC_96   95 | 
|   | 
| #define  | DEC_97   96 | 
|   | 
| #define  | DEC_98   97 | 
|   | 
| #define  | DEC_99   98 | 
|   | 
| #define  | DEC_100   99 | 
|   | 
| #define  | DEC_101   100 | 
|   | 
| #define  | DEC_102   101 | 
|   | 
| #define  | DEC_103   102 | 
|   | 
| #define  | DEC_104   103 | 
|   | 
| #define  | DEC_105   104 | 
|   | 
| #define  | DEC_106   105 | 
|   | 
| #define  | DEC_107   106 | 
|   | 
| #define  | DEC_108   107 | 
|   | 
| #define  | DEC_109   108 | 
|   | 
| #define  | DEC_110   109 | 
|   | 
| #define  | DEC_111   110 | 
|   | 
| #define  | DEC_112   111 | 
|   | 
| #define  | DEC_113   112 | 
|   | 
| #define  | DEC_114   113 | 
|   | 
| #define  | DEC_115   114 | 
|   | 
| #define  | DEC_116   115 | 
|   | 
| #define  | DEC_117   116 | 
|   | 
| #define  | DEC_118   117 | 
|   | 
| #define  | DEC_119   118 | 
|   | 
| #define  | DEC_120   119 | 
|   | 
| #define  | DEC_121   120 | 
|   | 
| #define  | DEC_122   121 | 
|   | 
| #define  | DEC_123   122 | 
|   | 
| #define  | DEC_124   123 | 
|   | 
| #define  | DEC_125   124 | 
|   | 
| #define  | DEC_126   125 | 
|   | 
| #define  | DEC_127   126 | 
|   | 
| #define  | DEC_128   127 | 
|   | 
| #define  | DEC_129   128 | 
|   | 
| #define  | DEC_130   129 | 
|   | 
| #define  | DEC_131   130 | 
|   | 
| #define  | DEC_132   131 | 
|   | 
| #define  | DEC_133   132 | 
|   | 
| #define  | DEC_134   133 | 
|   | 
| #define  | DEC_135   134 | 
|   | 
| #define  | DEC_136   135 | 
|   | 
| #define  | DEC_137   136 | 
|   | 
| #define  | DEC_138   137 | 
|   | 
| #define  | DEC_139   138 | 
|   | 
| #define  | DEC_140   139 | 
|   | 
| #define  | DEC_141   140 | 
|   | 
| #define  | DEC_142   141 | 
|   | 
| #define  | DEC_143   142 | 
|   | 
| #define  | DEC_144   143 | 
|   | 
| #define  | DEC_145   144 | 
|   | 
| #define  | DEC_146   145 | 
|   | 
| #define  | DEC_147   146 | 
|   | 
| #define  | DEC_148   147 | 
|   | 
| #define  | DEC_149   148 | 
|   | 
| #define  | DEC_150   149 | 
|   | 
| #define  | DEC_151   150 | 
|   | 
| #define  | DEC_152   151 | 
|   | 
| #define  | DEC_153   152 | 
|   | 
| #define  | DEC_154   153 | 
|   | 
| #define  | DEC_155   154 | 
|   | 
| #define  | DEC_156   155 | 
|   | 
| #define  | DEC_157   156 | 
|   | 
| #define  | DEC_158   157 | 
|   | 
| #define  | DEC_159   158 | 
|   | 
| #define  | DEC_160   159 | 
|   | 
| #define  | DEC_161   160 | 
|   | 
| #define  | DEC_162   161 | 
|   | 
| #define  | DEC_163   162 | 
|   | 
| #define  | DEC_164   163 | 
|   | 
| #define  | DEC_165   164 | 
|   | 
| #define  | DEC_166   165 | 
|   | 
| #define  | DEC_167   166 | 
|   | 
| #define  | DEC_168   167 | 
|   | 
| #define  | DEC_169   168 | 
|   | 
| #define  | DEC_170   169 | 
|   | 
| #define  | DEC_171   170 | 
|   | 
| #define  | DEC_172   171 | 
|   | 
| #define  | DEC_173   172 | 
|   | 
| #define  | DEC_174   173 | 
|   | 
| #define  | DEC_175   174 | 
|   | 
| #define  | DEC_176   175 | 
|   | 
| #define  | DEC_177   176 | 
|   | 
| #define  | DEC_178   177 | 
|   | 
| #define  | DEC_179   178 | 
|   | 
| #define  | DEC_180   179 | 
|   | 
| #define  | DEC_181   180 | 
|   | 
| #define  | DEC_182   181 | 
|   | 
| #define  | DEC_183   182 | 
|   | 
| #define  | DEC_184   183 | 
|   | 
| #define  | DEC_185   184 | 
|   | 
| #define  | DEC_186   185 | 
|   | 
| #define  | DEC_187   186 | 
|   | 
| #define  | DEC_188   187 | 
|   | 
| #define  | DEC_189   188 | 
|   | 
| #define  | DEC_190   189 | 
|   | 
| #define  | DEC_191   190 | 
|   | 
| #define  | DEC_192   191 | 
|   | 
| #define  | DEC_193   192 | 
|   | 
| #define  | DEC_194   193 | 
|   | 
| #define  | DEC_195   194 | 
|   | 
| #define  | DEC_196   195 | 
|   | 
| #define  | DEC_197   196 | 
|   | 
| #define  | DEC_198   197 | 
|   | 
| #define  | DEC_199   198 | 
|   | 
| #define  | DEC_200   199 | 
|   | 
| #define  | DEC_201   200 | 
|   | 
| #define  | DEC_202   201 | 
|   | 
| #define  | DEC_203   202 | 
|   | 
| #define  | DEC_204   203 | 
|   | 
| #define  | DEC_205   204 | 
|   | 
| #define  | DEC_206   205 | 
|   | 
| #define  | DEC_207   206 | 
|   | 
| #define  | DEC_208   207 | 
|   | 
| #define  | DEC_209   208 | 
|   | 
| #define  | DEC_210   209 | 
|   | 
| #define  | DEC_211   210 | 
|   | 
| #define  | DEC_212   211 | 
|   | 
| #define  | DEC_213   212 | 
|   | 
| #define  | DEC_214   213 | 
|   | 
| #define  | DEC_215   214 | 
|   | 
| #define  | DEC_216   215 | 
|   | 
| #define  | DEC_217   216 | 
|   | 
| #define  | DEC_218   217 | 
|   | 
| #define  | DEC_219   218 | 
|   | 
| #define  | DEC_220   219 | 
|   | 
| #define  | DEC_221   220 | 
|   | 
| #define  | DEC_222   221 | 
|   | 
| #define  | DEC_223   222 | 
|   | 
| #define  | DEC_224   223 | 
|   | 
| #define  | DEC_225   224 | 
|   | 
| #define  | DEC_226   225 | 
|   | 
| #define  | DEC_227   226 | 
|   | 
| #define  | DEC_228   227 | 
|   | 
| #define  | DEC_229   228 | 
|   | 
| #define  | DEC_230   229 | 
|   | 
| #define  | DEC_231   230 | 
|   | 
| #define  | DEC_232   231 | 
|   | 
| #define  | DEC_233   232 | 
|   | 
| #define  | DEC_234   233 | 
|   | 
| #define  | DEC_235   234 | 
|   | 
| #define  | DEC_236   235 | 
|   | 
| #define  | DEC_237   236 | 
|   | 
| #define  | DEC_238   237 | 
|   | 
| #define  | DEC_239   238 | 
|   | 
| #define  | DEC_240   239 | 
|   | 
| #define  | DEC_241   240 | 
|   | 
| #define  | DEC_242   241 | 
|   | 
| #define  | DEC_243   242 | 
|   | 
| #define  | DEC_244   243 | 
|   | 
| #define  | DEC_245   244 | 
|   | 
| #define  | DEC_246   245 | 
|   | 
| #define  | DEC_247   246 | 
|   | 
| #define  | DEC_248   247 | 
|   | 
| #define  | DEC_249   248 | 
|   | 
| #define  | DEC_250   249 | 
|   | 
| #define  | DEC_251   250 | 
|   | 
| #define  | DEC_252   251 | 
|   | 
| #define  | DEC_253   252 | 
|   | 
| #define  | DEC_254   253 | 
|   | 
| #define  | DEC_255   254 | 
|   | 
| #define  | DEC_256   255 | 
|   | 
| #define  | DEC_257   256 | 
|   | 
Implement a while loop on the preprocessor. 
This is used to generate the explicit instantiations, which must be done at global scope