I can simply take a hessian of some function in multiple points

```
hess = x -> (Zygote.hessian.(x->sum(x.^3), x))
hess(rand(2,3))
2×3 Array{Float64,2}:
2.67795 3.8318 4.9022
0.216379 5.67439 4.96389
```

But I’m always getting in troubles when I’m trying to implement the same operation for a neural net:

```
g = Dense(2,1)
hess = x -> Zygote.hessian.(x->sum(g(x)), x)
hess(rand(2,3))
```

Error:

```
MethodError: no method matching (::Dense{typeof(softplus),Array{Float32,2},Array{Float32,1}})(::ForwardDiff.Dual{ForwardDiff.Tag{Zygote.var"#74#75"{var"#206#208"},Float64},Float64,1})
Closest candidates are:
Any(::AbstractArray{T,N} where N) where {T<:Union{Float32, Float64}, W<:(AbstractArray{T,N} where N)} at /home/solar/.julia/packages/Flux/goUGu/src/layers/basic.jl:134
Any(::AbstractArray{var"#s127",N} where N where var"#s127"<:AbstractFloat) where {T<:Union{Float32, Float64}, W<:(AbstractArray{T,N} where N)} at /home/solar/.julia/packages/Flux/goUGu/src/layers/basic.jl:137
Any(::AbstractArray) at /home/solar/.julia/packages/Flux/goUGu/src/layers/basic.jl:121
```

Is this possible to get the hessian of neural network and keep its dimensions as follows (2,2,3) or

(2,2,m) in general case?