def viewed
import bendvy-ecs-core@0.1.0.4/resource_field.bend as ResourceFieldimport Base
import bendvy-ecs-core@0.1.0.4/owner_product.bend as Product
9# Canonical product lenses preserve affine siblings during selected-field operations.
10def viewed(~R:Type,~P:Type,~Rest:Type,~V:Data,~lens:Product.Lens<R,P,Rest>,rest:Rest,result:P & V) -> R & V:
11 match result:
12 case (part,value):(Product.put_field(~R,~P,~Rest,lens)(rest,part),value)