/**
 * 
 * Unlike undefined or null, testing o !== void
 * will not restrict the type.
 * 
 * Example:
 * 
 * declare o: { p: string; } | void;
 * 
 * matchVoid(o)?null:o.p <== Type inference ok
 * 
 * Match void
 * @param o type of o should be a union of type containing void
 * @returns true if o is undefined
 */
export function matchVoid(o: any): o is void | undefined {
    return o === undefined;
}



