struct::list::Lfilter {a apple b aardvark c} {
    @@ok/result.= {
        pipeswitch { 
                        puts "c0: [string range $switchargs 0 0]"
                        pipecase .= ,'a'.= string range $switchargs 0 0 |> {val 1}
                        val {ok {result 0}}  
                   } $in
    } |> {puts $data; set data}  <in|
}



pipeset pipeb @@ok/result.= {
        pipeswitch { 
                        pipecase .= ,'b'.= string range $switchargs 0 0 |> {val 1}
                        val {ok {result 0}}  
                   } $in
    }  <in|
    
    
puts stdout [struct::list::Lfilter {a apple b aardvark banana blah c} $pipeb]


pipeset pipec @@ok/result.=in/end \
        pipeswitch { 
            pipecase .= ,'c'.= string range $switchargs 0 0 |> {val 1}
            val {ok {result 0}}  
        }  <in|
    
    
puts stdout [struct::list::Lfilter {a apple b aardvark banana blah c charlie chocolate} $pipec]



#>f . reduce {.=* list |> {join $data ":"} <|}  {a b c d e f}