Something along the lines of
static if(__traits(compiles, __traits(getMember, Foo, member))
static if(is(__traits(getMember, Foo, member) == function)) {
// use it
}
The __traits(compiles, ...) is my go-to thingy for filtering out
random errors.