super() in Single Inheritance

class Animal:
    def speak(self):
        return "generic sound"

class Dog(Animal):
    def speak(self):
        return f"Woof! (parent says: {super().speak()})"

print(Dog().speak())

What does this print?

A

Raises RecursionError: maximum recursion depth exceeded, because super().speak() calls Dog.speak() again

B

Woof! (parent says: generic sound)

C

Raises AttributeError: 'super' object has no attribute 'speak', because super() only proxies init, not arbitrary methods

D

generic sound