code: func match(commandName string, args []interface{}, cmd *Cmd) bool {
  	if commandName != cmd.Name || len(args) != len(cmd.Args) {
  		return false
  	}
  
  	for pos := range cmd.Args {
  		if implementsFuzzy(cmd.Args[pos]) {
  			if cmd.Args[pos].(FuzzyMatcher).Match(args[pos]) == false {
  				return false
  			}
  		} else if reflect.DeepEqual(cmd.Args[pos], args[pos]) == false {
  			return false
  		}
  
  	}
  	return true
  }
docs: // match check if provided arguments can be matched with any registered
  // commands