Better semantics, and a little structure, for defining interaction with APIs.