What does this code demonstrate about associated type inference?protocol Source { associatedtype Value func current() -> Value } struct Counter: Source { var n = 0 func current() -> Int { n } }