1. A computer-implemented method comprising: receiving a request for information associated with one or more available operating system interfaces; obtaining the information associated with the one or more available operating system interfaces, the operating system interfaces being described using an abstract type system, wherein the abstract type system is configured to enable interface descriptions that are independent from specific programming languages, and wherein at least one description of an operating system interface includes calling parameter type descriptions; programmatically determining one or more abstract types associated with the one or more available operating system interfaces using at least one binary contract, wherein determining the one or more abstract types comprises determining behavior associated with the one or more abstract types, wherein the binary contract is configured to include machine-level definitions; and mapping individual determined abstract types to individual respective types associated with at least one specific programming language.