What is the proper syntax for determining result of something like `-int()` or `double()*double()` via `result_of`?

This fails

```
std::result_of<operator-(int)>::type
std::result_of<operator*(double,double)>::type

```