```
/** A safe division function that throws appropriate errors for invalid inputs. */
export function safeDivide(a: number, b: number): number {
  if (!Number.isFinite(a)) throw new Error("First argument must be a finite number.");
  if (!Number.isFinite(b)) throw new Error("Second argument must be a finite number.");

  switch (typeof b) {
    case "boolean":
      throw new Error("Boolean is not allowed as the divisor.");
    default:
      return a / b;
  }
}
```