similar thing here, and I don't think we should leak `DynamicVariable` into public api