I've just discovered this is an odd side effect of how the src is compiled. When the project is created the files are by default "compiled as C++" even though the code is pure C. Changing that build to "compile as C" resolves the problem.I don't quite understand the problem.
Normally, function prototypes are placed at the start of the source file or in a header file. They must be declared before the function is called.
Can you state which function call is giving you problems?
Set( ) and Reset( ) are not library functions. Where are they implemented?
What IDE platform are you using?

#ifdef __cplusplus
extern "C" void SysTick_Handler(void)
{
HAL_IncTick();
HAL_SYSTICK_IRQHandler();
}
#else
void SysTick_Handler(void)
{
HAL_IncTick();
HAL_SYSTICK_IRQHandler();
}
#endif