         duration: TimeInterval,
         options: UIView.AnimationOptions = [.transitionCrossDissolve],
         animations: @escaping () -> Void,
-        completion: @escaping () -> Void = {}
+        completion: ((Bool) -> Void)? = nil
     ) {
         var options = options
         options.insert(.allowAnimatedContent)

    public static func animateFromCurrentState(
        duration: TimeInterval = .fast,
        animations: @escaping () -> Void,
        completion: @escaping () -> Void = {}
    ) {
        UIView.animate(
            withDuration: duration,

            options: .beginFromCurrentState
        ) {
            animations()
        } completion: {
            completion?($0)
        }
    }
}
