         public static let all: [Right] = [.WhiteKingside, .WhiteQueenside, .BlackKingside, .BlackQueenside]
 
         #endif
+
+        /// White rights.
+        public static let white: [Right] = all.filter({ $0.color.isWhite })
+
+        /// Black rights.
+        public static let black: [Right] = all.filter({ $0.color.isBlack })
 
         /// The color for `self`.
         public var color: Color {

    /// All castling rights.
    public static let all = CastlingRights(Right.all)

    /// The rights.
    private var _rights: Set<Right>


        }
    }

    /// Creates castling rights for `color`.
    public init(color: Color) {
        self = color.isWhite ? .white : .black
    }

    #if swift(>=3)

    /// Creates a set of rights from a sequence.
