___last
#define ___last(...) ___apply(___last, ___narg(__VA_ARGS__))(__VA_ARGS__)
___read(fn, &__t, ___type(___nolast(__VA_ARGS__)), __t, ___last(__VA_ARGS__));
___last(__VA_ARGS__));