GraphQL itself is a type-safe language. A schema is composed of well-defined types, supports nullability, and allows for inheritance through interfaces. The flexibility and expressiveness provided by a GraphQL schema seems to be a perfect fit for use with type-safe coding languages. But there are many challenges to overcome when consuming a GraphQL schema in strictly type-safe languages. This talk will discuss why GraphQL seems to conflict with type safety; explore some of the notable challenges GraphQL client developers face when consuming a GraphQL API; and uncover how the Apollo team has approached solutions for many of these issues in Swift and the Apollo iOS client.