```ts
function* validateFiniteNumber<T>(value: T): never | undefined {
  if (typeof value !== "number" || !Number.isFinite(value)) {
    return new Error("must be a finite number");
  }
}

export function celsiusToFahrenheit(celsius = validateFiniteNumber(number)):
  typeof celsiusToFahrenheit extends (a: import("solution").celsius) => number
  { (celsius: import("solution").celsius): number } {
  if (celsius < -273.15) {
    throw new Error("must be at or above absolute zero");
  }
  return celsius * 1.8 + 32;
}

export function celsiusToKelvin(celsius = validateFiniteNumber(number)):
  typeof celsiusToKelvin extends (a: import("solution").celsius) => number
  { (celsius: import("solution").celsius): number } {
  return celsius + 273.15;
}
```