function endsWith(string $haystack, string $needle): bool{
  $length = strlen($needle);
  if ($length === 0) {
      return true; // An empty needle always "ends" a string
  }
  return substr($haystack, -$length) === $needle;
}