export type CSPair = {client: T; server: T} | CSPairNotC | CSPairNotS; export type CSPairNotC = {client: null; server: T}; export type CSPairNotS = {client: T; server: null}; export function noCPair(pair: CSPair): pair is CSPairNotC { return pair.client == null; } export function noSPair(pair: CSPair): pair is CSPairNotS { return pair.server == null; }