in wrap.go [135:144]
func As[T Steper](s Steper) []T { var rv []T Traverse(s, func(s Steper, walked []Steper) TraverseDecision { if v, ok := s.(T); ok { rv = append(rv, v) } return TraverseContinue }) return rv }