              ** postal address.
              */
             guard let updatedCheckout = updatedCheckout, !shippingRates.isEmpty else {
-                completion(.invalidShippingPostalAddress, [], self.checkout!.summaryItems)
+                completion(.invalidShippingPostalAddress, [], self.checkout.summaryItems)
                 return
             }
             

         ** methods are mapped 1:1 from shipping
         ** rates.
         */
        guard let shippingRate = self.shippingRates!.shippingRateFor(shippingMethod) else {
            completion(.failure, self.checkout!.summaryItems)
            return
        }
        
        self.delegate?.paySession(self, didSelectShippingRate: shippingRate, checkout: self.checkout!, provide: { updatedCheckout in
            if let updatedCheckout = updatedCheckout {
                self.checkout = updatedCheckout
                

         ** postal address. The partial info
         ** should be enough to obtain rates.
         */
        self.delegate?.paySession(self, didRequestShippingRatesFor: payPostalAddress, checkout: self.checkout, provide: { updatedCheckout, shippingRates in
            
            /* ---------------------------------
             ** The delegate has an opportunity
