Shouldn't we use an assert or just die here? Caller is giving bad args.