     /// - parameter url: The URL to find `URLOpenHandler`s.
     ///
     /// - returns: The return value of the matching `URLOpenHandler`. Returns `false` if there's no match.
+    @discardableResult
     public func open(_ url: URLConvertible) -> Bool {
         let urlOpenHandlersKeys = Array(self.urlOpenHandlers.keys)
         if let urlMatchComponents = URLMatcher.default.match(url, scheme: self.scheme, from: urlOpenHandlersKeys) {

    /// - parameter completion: Called after the transition has finished.
    ///
    /// - returns: The presented view controller. Returns `nil` if failed to present a view controller.
    public func present(_ viewController: UIViewController,
                        wrap: Bool = false,
                        from: UIViewController? = nil,

    ///
    /// - returns: The presented view controller. Returns `nil` if there's no matching view controller or failed to
    ///     present a view controller.
    @discardableResult
    public func present(_ url: URLConvertible,
                        wrap: Bool = false,
                        from: UIViewController? = nil,
