@param
@return
We can't use this rule for now, since changing interface type declarations is a major BC break that is not worth introducing for now.
This also includes heavy use of slevomat/coding-standard to apply various checks to the code, based on maintainer (me) preference.