Adding an extra layer of abstraction in the type system for ‘untouched’ adjoint arguments.