It's also a bad practice to use the assert provided by the libc used (*if* it is used one).
For example newlib provided assert calls printf(), that in turns calls malloc that it is a big problem. In the specific case we do not have heap for the malloc provided by newlib-nano (we use the allocator 4 provided by FreeRTOS). The malloc is very slow and indeterministic about the timing, and also is not thread safe and we should allocate a _reent structure of about 2KB for each task, because it is too much memory consuming. It's also very slow.
In general, I don't think it's a good practice that the HAL driver library (the fsl_*.[ch] files) relies on the library API (see the include list at the top of the fsl_common.h file).
best regards
Max