i think it is necessary to change template syntax and do as C++ style template A <>, and not A !(), A <>. many people come from C++ and it will be easy to adapt.