How is an API different from a library?