//! Option payoff contract.
//!
//! Port of `ql/payoff.hpp`: the [`Payoff`] trait is the abstract base class
//! for option payoffs. The concrete payoff hierarchy lives in
//! [`instruments`](crate::instruments).
//!
//! QuantLib's `accept(AcyclicVisitor&)` hook is not ported: Rust callers
//! dispatch on the payoff traits (e.g.
//! [`StrikedTypePayoff`](crate::instruments::StrikedTypePayoff)) instead of
//! visiting by dynamic type.
use crateReal;
/// Abstract base class for option payoffs.