I have the following function

```swift
func greater<T: Comparable>(_ lhs: T, rhs: T) -> some Comparable {
    lhs > rhs ? lhs : rhs
}

```

But when I try the following I get an error

```swift
greater(greater(1, 2), 3) // Cannot convert value of type 'Int' to expected argument type 'some Comparable'

```

I understand the error but why is not the compiler able to infer that both types are actually `Int`s?