Clean code, plugin interface simple to use, but implementation needs to be improved. For example, parsing $ENV{COMP_LINE} & $ENV{COMP_POINT} into @argv is done simplistically using split(/\h+/), without regard to shell's quotes/escapes. (Getopt::Complete's way is somewhat better by invoking shell, but it also has its problems. I guess in this regard external programs are second-class citizens to shell functions because they don't get the equivalents of COMP_WORDS/COMP_CWORD).