It's actually really annoying, implementation-wise. Apple subscriptions are read-only for third parties, which creates some annoying hurdles where you have to warp your data model to accommodate the fact that someone could have two subscriptions to the same thing at the same time, which normally you wouldn't want to allow them to do.