Dear Firedrake,
   Using firedrake-adjoint provokes the message at the bottom of this email. Is it expected? How can it be avoided?
all the best
--Colin
  File "edge_stable.py", line 106, in <module>
    z_opt = solver.solve()[0]
  File "/home/cjc1/firedrake/src/pyadjoint/pyadjoint/tape.py", line 46, in wrapper
    return function(*args, **kwargs)
  File "/home/cjc1/firedrake/src/pyadjoint/pyadjoint/optimization/rol_solver.py", line 217, in solve
    solver.solve()
  File "/home/cjc1/firedrake/src/pyadjoint/pyadjoint/optimization/rol_solver.py", line 24, in gradient
    g.dat = g.riesz_map(self.deriv)
  File "/home/cjc1/firedrake/src/pyadjoint/pyadjoint/optimization/rol_solver.py", line 52, in riesz_map
    dat.append(deriv._ad_convert_type(deriv, options=opts))
  File "/home/cjc1/firedrake/src/pyadjoint/pyadjoint/tape.py", line 46, in wrapper
    return function(*args, **kwargs)
  File "/home/cjc1/firedrake/src/pyadjoint/fenics_adjoint/types/function.py", line 131, in _ad_convert_type
    if not isinstance(value, backend.GenericVector):
AttributeError: module 'firedrake' has no attribute 'GenericVector'