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}