Swift differentiates between escaping and non-escaping closures. An escaping closure is one that is (potentially) called after the function the closure is passed to returns — that is, the closure escapes the scope of the function it is passed to as an argument.