alias fset if ([$0]) {
    @ :_pl = word(0 $pattern($0% $_fsets))
    if ([$0] =~ [-%]) {
	if (match($after(- $0) $_fsets)) {
	    ^assign $0
	    xecho -s -b Value of $toupper($after(- $0)) set to <EMPTY>
	}{
	    _fsetcat $strip(- $pattern($0% $_fsets))
	}
    } elsif (_pl) {
	if ([$1] != []) {
	    ^assign $_pl $fix.oo2($1-)
	    xecho -s -b Value of $toupper($_pl) set to $fix.oo1($($_pl))
	}{
	    _fsetcat $pattern($0% $_fsets)
	}
    }{
	xecho -s -b No such variable \"$0\"
    }
}{
    _fsetcat $_fsets
}

/* based off _setcat from parallax/r2a by shade */
alias _fsetcat {
    fe ($*) xx {
	xecho -s -b $fparse(format_set${[$($xx)] == [] ? [_novalue] : []} $toupper($xx) $($xx))
    }
}
