If F is a set filter then
    typename F 
operates as follows. First, F is evaluated in the current position to get a set of squares X . If X does not contain exactly one square, then the filter does not match.

Otherwise, the filter returns one-character string denoting the type of the contents of the square in X, one of R, N, B, Q, K, P or _.

For example, one way to check whether the previous move was an underpromotion would be:

    typename from=="P"
    typename to in "RNB"

(This is equivalent to

    currentmove ――=


typename is used in babson3.cql as well as horizontallysymmetric.cql, which finds this study:
Korolkov 1972
(found from CQL file: horizontallysymmetric.cql)