I expect there will be two primary ways that FSet gets used; I’ll call them “FSet-light” and “FSet-heavy”. In the “light” mode of use, FSet types and operations will be sprinkled into code — perhaps, code that was originally written without FSet — but the code will mostly use non-FSet collections. In the “heavy” mode, on the other hand, code uses FSet for most things (of course, Lisp code will always use lists for some purposes).
There are some choices to be made based on this difference. The major one is whether to import the external FSet symbols into the package(s) you are developing in, so that they can be referenced without package prefixes. Some projects have a blanket policy against importing symbols, but if yours allows importing, and you plan to use FSet heavily, I think you should consider it. This is the mode in which I use FSet personally; it does give the feeling of using a new dialect of Lisp, which you could find desirable or not, depending on your tastes.
A small choice is whether to use lookup or @ (see The @ Macro). In
FSet-light code you should probably use lookup since the name will be easier to recognize,
but in FSet-heavy code I think you may as well use @.
If your project doesn’t permit importing, or if you’re planning to use FSet only in a few places,
just use an explicit fset2: prefix on FSet symbols. (The older fset package is still
provided for compatibility with codebases that have been using it, but I don’t recommend it for new
code.)
This is clearly desirable for FSet-heavy code (see the defpackage :fset2-user form in
defs.lisp for an example of how to do this, including a list of symbols you will need to
shadowing-import from either fset2 or cl).