Another iteration on #984: user friendly way to specify derivatives for CustomFunction