function logical(values: string[], present: string): void { let value = values[0]; if (!value) return; const read = () => console.log((present && value)?.length); value = values.slice(1)[0]; read(); } function conditional(values: string[], present: boolean): void { let value = values[0]; if (!value) return; const read = () => console.log((present ? value : value)?.length); value = values.slice(1)[0]; read(); } function multipleArms(values: (string | number)[]): void { let value = values[0]; if (!value) return; value = 1 as unknown as string; const read = () => console.log(value.length); read(); } function commaCall(callbacks: (() => void)[], mark: () => void): void { let callback = callbacks[0]; if (!callback) return; const call = () => (mark(), callback)(); callback = callbacks.slice(1)[0]; call(); } logical(["first"], "yes"); conditional(["first"], true); multipleArms(["first"]); commaCall([() => {}], () => {});