¿Por qué puedo vincular <f: actionListener> a un método arbitrario si JSF no lo admite?

Estoy usando Glassfish 3.1.2.2 y JSF Mojarra 2.1.6.

Tengo la siguiente página de Facelets:

<h:form>
  <h:commandLink value="link">
    <f:actionListener binding="#{backingBean.someMethod(1)}"/>
  </h:commandLink>
</h:form>

Y el siguiente respaldo-bean:

@RequestScoped
@ManagedBean
public class BackingBean {
  public void someMethod(int i) {
    System.out.println("It was called: " + i);
  }
}

Cuando hago clic en el enlace, aparece "Información: se llamó: 1" en la consola.

La documentación parabinding lee:

Biblioteca:http://xmlns.jcp.org/jsf/core, http://java.sun.com/jsf/core (Jsf Core)

Etiqueta: actionListener

Unión

Expresión de enlace de valor que se evalúa comoobjeto que implementa javax.faces.event.ActionListener. [énfasis mío]

Además, la respuesta aceptada aesta pregunta afirma que no es posible para unf:actionListener llamar a un método arbitrario.

¿Por qué se llama al método bean de respaldo si esto no es compatible?

Respuestas a la pregunta(1)

Su respuesta a la pregunta