```
/** Safe division of two numbers. Throws an Error if the divisor is zero or non-finite, 
 *  or if either argument is not a finite number. */
export function safeDivide(a: number, b: number): number {
    if (typeof a !== 'number' || typeof b !== 'number') {
        throw new Error('Both arguments must be numbers.');
    }
    if (!Number.isFinite(a) || !Number.isFinite(b)) {
        throw new Error('Both arguments must be finite numbers.');
    }
    if (b === 0 || b === -0) {
        throw new Error('Division by zero is not allowed.');
    }
    return a / b;
}
```