Better semantic for M4 functions