hey guys, some help on this; Having this code snippet, ``` # type ('a,'b) pair = {first: 'a; second: 'b};; ``` and then doing, ``` # let x = {first=2; second="hello"};; val x : (int, string) pair = {first = 2; second = "hello"} ``` leaves me wondering how it could be possible for `x` is of type `('a,'b) pair` yet `x` declaration doesn't point to it.