In Squeak (not sure if other Smalltalks have something like it) there is the MethodFinder and the MessageNames dialog that help you learn/discover the system in wonderful ways. After finding the MethodFinder I can't hardly stand not to use it. It takes a receiver, an argument (or list of args), and an expected result and gives you what methods in the system would produce that result.
MethodFinder methodFor: #((2 64)18446744073709551616. ).
'(data1 raisedTo: data2) (data1 raisedToInteger: data2) '