* meta non-const allow_cast overloads: (const int &) to (int &) is not allowed, but (const int &) to (double &) is allowed (support only for convertibles)
* improve non-const allow cast with in-place switch
+* meta fixed_size could return the size directly if present