fixes stack level too deep error for propagate_variant