I update with an optional tracer as arg (default to NullTracer)