PSL's temporal operators can be roughly classified into "LTL-style" operators and "regular-expression-style" operators. Many PSL operators come in two versions, a strong version, indicated by an exclamation mark suffix ( ), and a weak version. The "strong version" makes eventuality requirements (i.e. require that something will hold in the future), while the "weak version" does not. An "underscore suffix" ( ) is used to differentiate "inclusive" vs. "non-inclusive" requirements. An and suffixes are used to denote "universal" (all) vs. "existential" (exists) requirements. Exact time windows are denoted by and flexible by .