The community tends to shy away from classes, but using a method for to_string accomplishes your second point in a minimal way.
let to_string stringer : string = stringer#to_string
val to_string : < to_string : string; .. > -> string = <fun>
I think there's also plenty of people who feel just as strongly about Reason syntax in the other direction.