update `makeScalarAssertion` to receive the part of the message that changes when the user does not define their own message and get rid of the nested function. you are creating a new function every time this method is invoked now which is wasteful.