/**
 * Contains the basic annotations to be used by all type systems
 * and meta-annotations to qualify annotations (qualifiers).
 *
 * They may serve as documentation for the type qualifiers, and aid the
 * Checker Framework to infer the relations between the type qualifiers.
 *
 * @checker.framework.manual #writing-a-checker Writing a checker
 */
package checkers.quals;
