1. A computer-implemented method comprising: receiving a signature of a first language system method call, the first language system method call originating in a first language system, and the receiving performed by a computing device; analyzing the signature of the first language system method call, the analyzing performed by the computing device; determining: zero or more input parameters of the first language system method call, and one or more output parameters of the first language system method call, where: the determining is based on the analyzing, the determining is performed by the computing device, and an output signature of the first language system method call, wherein the output signature of the first language system method call comprises an indication of a number of the one or more output parameters of the first language system method call; and interacting with a second language system, the second language system including a plurality of method implementations, the second language system including a second language, the second language system being distinct with respect to the first language system, and the interacting performed by the computing device; determining an output signature of a second language system method, wherein the output signature of the second language system method comprises an indication of a number of output parameters of the second language system method; calculating fitness values for multiple ones of the plurality of method implementations, each fitness value indicating a fitness of a respective one of the plurality of method implementations relative to the first language system method call; selecting a second language system method implementation from the plurality of method implementations, the selecting based on the interacting, and the selecting performed by the computing device, wherein the selecting is performed based on the calculated fitness values; and wherein the selecting of the second language system method implementation comprises: identifying a parameter type for each output parameter of the output signature of the first language system method call; and for each identified parameter type, determining a type capable of accepting the identified parameter type in the output signature of the second language system method by determining a casting type into which the identified parameter type may be cast without a loss of information; mapping the first language system method call to the selected second language system method, wherein the mapping comprises casting the identified parameter type into the determined casting type, the mapping used when calling the second language system method in response to the first language system method call.