def checked_lens
bendvy-ecs-core@0.1.0.3 · execution_relation_failure_provider.bend:16
import bendvy-ecs-core@0.1.0.3/execution_relation_failure_provider.bend as ExecutionRelationFailureProvider
import Base
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as Layout
import bendvy-ecs-core@0.1.0.3/execution_layout_access.bend as LayoutAccess
import bendvy-ecs-core@0.1.0.3/owner_product.bend as Product
import bendvy-ecs-core@0.1.0.3/relation_types.bend as T
16def checked_lens(~S:Data,~R:Type,~full:Layout.Layout,~route:Layout.Route,~descriptor:T.Descriptor<S>,~local:Layout.Layout,~selected:Layout.Route,~same:{R == Layout.resources(~S,local) : Type},slot:{LayoutAccess.resource_slot(~S,local,selected) == Slot(~S,~full,~route,~descriptor) : Type}) -> Product.Lens<R,Slot(~S,~full,~route,~descriptor),Layout.resource_rest(~S,local,selected)>:
17 %slot : Product.Lens<R,_,Layout.resource_rest(~S,local,selected)>
18 LayoutAccess.resource_lens(~S,~R,~local,~selected,~same)