      - Parameter completion: A completion block to execute on each view's animation.
      */
     fileprivate func expandDown(duration: TimeInterval, delay: TimeInterval, usingSpringWithDamping: CGFloat, initialSpringVelocity: CGFloat, options: UIViewAnimationOptions, animations: ((UIView) -> Void)?, completion: ((UIView) -> Void)?) {
-        guard let first = views.first else {
-            return
-        }
-        
-        let h = baseSize.height
         
         for i in 0..<views.count {
             let v = views[i]

                options: options,
                animations: { [first = first, v = v] in
                    v.alpha = 0
                    v.y = first.y + h
                            
                    animations?(v)
                }) { [weak self, v = v] _ in

     - Parameter completion: A completion block to execute on each view's animation.
     */
    fileprivate func expandLeft(duration: TimeInterval, delay: TimeInterval, usingSpringWithDamping: CGFloat, initialSpringVelocity: CGFloat, options: UIViewAnimationOptions, animations: ((UIView) -> Void)?, completion: ((UIView) -> Void)?) {
        
        for i in 0..<views.count {
            let v = views[i]
