Specification language for API contracts.

Makes fine clients, but not good clients. This is b/c as I learned from talking with Speakeasy, it doesn’t specify the things you need for a good client. Example: binary strings converting to byte array. You don’t really want to put it in memory, but want a stream. The spec doesn’t do a good job of explaining that.