```typescript
/** Returns a by dividing each element of a using b as fraction's divisor. */
export function safeDivide<T>(a: T, b: number): number {
  if (typeof a !== 'number') throw new Error('First argument must be a number.');
  if (!Number.isFinite(b)) throw new Error('Second argument (divisor) is not finite.');
  if (!Number.isFinite(a)) throw new Error('First argument (fraction's dividend) is not finite.');
  return a / b;
}
```