I’d avoid overloading a standard library function name like free().
Your request for syntax for assertions reminds me of the ‘guard’ keyword in Swift, which is good for making sure of preconditions.