this works by passing -1 as the template argument for the number of derivatives. most of the code is identical, but creation of such objects requires the number of derivatives passed to the constructor or the copy constructor must be used. Finally `DynamicEvaluation<Scalar>` is provided as a more expressive alias for `Evaluation<Scalar, -1>`.