Evaluated proc - args {set res [regexp -inline {^<(@| |\+)*(.+?)> (.+?)$} [join ${args}]]; if {[llength $res] > 0} {set who [lindex $res 2]; set what [lindex $res 3]} else {set who [lindex $args 0]; set what [lrange $args 1 end]}; set c 0; while {[set i [lsearch $::phrases($who) $what]] >= 0} {incr c; set ::phrases($who) [lreplace $::phrases($who) $i $i]}; . "$c elements removed from \$::phrases($who)"}