Made some Func constructors explicit to prevent unintentional casting

This syntax, which we thought we had already disallowed:

Func f, g, h;
f = g + h;

Actually doesn't work now. Use:

f() = g + h

instead.