Enum member isMethodCompatible

enum isMethodCompatible(T, string method, Args...) = hasMember!(T, method) && isProtection!(T, method, "public") && isSomeFunction!(__traits(getMember, T, method)) && (variadicFunctionStyle!(__traits(getMember, T, method)) == Variadic.no) && (Filter!(partialSuffixed!(isArgumentListCompatible, Args), getOverloads!(T, method)).length == 1);