I often like to say “Let computers do what computers do best”, and using IDLs (interface-definition languages) to describe the *intent* of the interface, then using binding generators to do the hard work of implementing that intent for us in a machine-understandable manner is such a beautiful example of that