x.custom.y and preference reads, with the type of x guessed from its name. Conservative: an unknown receiver yields nothing, an ambiguous one yields every candidate type.
x.custom.y
x