Quickly validate method inputs

When incorrectly calling push or unshift e.g. ->push() the call should be ignored, rather than throwing a ReflectionException