```typescript
/** The temperature in degrees Fahrenheit. */
export function celsiusToFahrenheit(celsius: number): number {
  return convertCelsiusToUnit(celsius, "Fahrenheit");
}

/** The temperature in kelvin. */
export function celsiusToKelvin(celsius: number): number {
  return convertCelsiusToUnit(celsius, "Kelvin");
}

function convertCelsiusToUnit(celsius: number, unit: string): number {
  if (typeof celsius !== "number" || !Number.isFinite(celsius)) {
    throw new Error("celsius must be a finite number");
  }
  if (celsius < -273.15) {
    throw new Error("celsius must be at or above absolute zero");
  }

  const conversionFactors = {
    Fahrenheit: 1.8 + 32,
    Kelvin: 273.15
  };

  return celsius * conversionFactors[unit];
}
```