why removing the typehint ? A typehint on an optional argument does not create a required dependency (just like ``instanceof`` does not create a required dependency, as it works the same way)