Suppose forward contracts are traded on a consumption asset, so there aren't necessarily people ready and willing to sell the asset to jump on an arbitrage opportunity. Suppose the asset has no yield, incurs no storage costs, and that the current price is $S_0$.
In the book Options, Futures, and Other Derivatives, Hull notes that the argument he uses to determine the correct forward price require being able to sell the asset, so should only be applied to investment assets.
However, can we not rearrange the arguments in these case? (I think he does this himself, with arguments about options):
Portfolio 1: Long 1 forward contract with a forward price of $F_0$, expiring at time T
Portfolio 2: Borrow $S_0$ to buy the asset now
Assume investors borrow and lend at a rate of r compounded continuously.
If $F_0 < S_0 e^{rT}$, more investors wishing to have the asset at time T will choose Portfolio 1 as the way to acquire that asset. Entering this position will drive up the foward contract price.
If $F_0 > S_0 e^{rT}$, investors will avoid Portfolio 1 in favor of the simpler Portfolio 2, which also lets them sell the asset early if they want. Since people won't be going long Portfolio 1, the forward price will fall.
It seems to me a lot of arbitrage arguments can be rearranged like this -- instead of creating offsetting positions, some short and some long in the same asset, creating a portfolio with known future cashflows, you can create two different positions that just require going long in assets with the same payoff. Then being able to short-sell is not an issue.
Is this reasonable, or am I missing something?