`Greetable` provides a default `greet()` in a protocol extension, and `Person` conforms without writing its own `greet()`. What happens?
protocol Greetable {
var name: String { get }
func greet() -> String
}
extension Greetable {
func greet() -> String { "Hi, \(name)" }
}
struct Person: Greetable {
let name: String
}
print(Person(name: "Sam").greet())