medianPrice never reads close, and passing it is harmless — the option
is on the shared interface because these are one family with one shape,
and three near-identical option types spelled out separately would be
three places to drift. (The one that reads the open has its own type:
AveragePriceOptions.)
Options shared by the three high/low/close price transforms (typicalPrice, medianPrice, weightedClose).
medianPricenever readsclose, and passing it is harmless — the option is on the shared interface because these are one family with one shape, and three near-identical option types spelled out separately would be three places to drift. (The one that reads the open has its own type: AveragePriceOptions.)