static if(!(is(typeof(&func[0]) Fsym : Fsym*) && is(Fsym == function) || is(typeof(&func[0]) Fsym == delegate)))
static if(!(is(typeof(&func[0].opCall) Fobj == delegate)))
static if(!(is(typeof(&func[0].opCall) Ftyp : Ftyp*) && is(Ftyp == function)))
static if(is(func[0] T) || is(typeof(func[0]) T))
static if(!(is(T == function)))
static if(is(T Fptr : Fptr*) && is(Fptr == function))