А
interface Shape { name: string };
interface Circle extends Shape { width: number };
interface Rectangle extends Circle { height: number };
declare var logSC: (figure: Shape) => Circle;
declare var logRC: (figure: Rectangle) => Circle;
declare var wlogBB: (fn: (figure: Circle) => any) => void;
wlogBB(logSC);
// Error with --strictFunctionTypes
wlogBB(logRC);