Pues es que no existe ningún otro método para conocer los argumentos, y menos aún para inyectar comportamiento a dichos métodos.
Si lo deseas hacer de manera indirecta lo correcto sería usar Reflection, que por ejemplo en Javascript es muy simple (por decir algo):
Código Javascript
:
Ver originalfunction foo() {
}
console.log(foo.length); // 0
Usar Reflection es la única forma (en PHP) que existe para implementar lo que buscas.
O bien, igual y hay otra mejor forma y no estoy ni enterado.