Minor fixes and improvements

VariationPurchase can now be subtyped.