Doing facesMessages.add("Message") from an EL expression doesn't work, complaining about the String class not being compatible with the FacesMessage class. The problem is caused by a combination of two things:
1. There are two FacesMessages.add(...) that can accept one parameter: add(FacesMessage facesMessage) and add(String messageTemplate, Object... params)
2. The FacesMessages.add(...) that accepts a String as the first parameter can optionally accept additional parameters through a vararg
If only one of those was the case, it'd work fine. However, having both at the same time triggers the error.