def take_leaf
import bendvy-ecs-core@0.1.0.3/chunk_column.bend as ChunkColumnimport Base
import bendvy-ecs-core@0.1.0.3/lifecycle.bend as L
227def take_leaf(-S:Data,-C:Type,values:Array<Maybe<&1,C>>,stamps:Array<L.Stamp>,+index:U32,allowed:Bool) -> Column<S,C> & Maybe<&1,C>:
228 match allowed:
229 case False{}:(Leaf{values,stamps},None{})
230 case True{}:take_leaf_done(S,C,stamps,index,Array.swap(Maybe<&1,C>,values,index,None{}))