Circle copyWith({ Vec2? position, double? radius, }) { return Circle( position: position ?? this.position, radius: radius ?? this.radius, ); }