interface Bounds { readonly w: number, // width readonly h: number, // height area(): number, } function square (w: number, h: number) { const area = () => w * h; return { h, w, area }; } function perimeter (b: Bounds) { return 2 * (b.w + b.h); } console.log(perimeter(square(2, 4)));