struct とかくのが面倒とか struct なしだときれいに見えるだとかわけわからん
構造体をわざわざ typedef するってどうなの?
typdef のご利益が今ひとつわからないのだが

typedef double (*XYZ)(void *, void *);
ぐらいになれば許可してあげよう