There are some functions like mp_sqr which may call a fast variant if possible. In the default case however s_mp_sqr is called. However we also have the s_mp_sqr call guarded by MP_HAS. I think we should always provide a default implementation such that the functions never fail.
This applies to multiple other functions too.