NO PWM Whatsoever - CubeMX DOES NOT include the HAL_TIM_PWM_Start functions
My bad, I wasn't specifying the source GPIO_AF1_TIM2 of the alternate function in pininit().
But I am still amazed why do I have to include the macro _HAL_RCC_TIM2_CLK_ENABLE(); in the main function. Shouldn't the HAL initilization functions call it? Even the Cube MX doesn't take care of it. And if I remove it from the code, the timer doesn't run.