@nickvergessen As for return, this is similar assign_var_array().function. TBH, I don't know why is it needed but desided to follow the existing code because it was possibly discussed somewhere.
As for the docblock mismatch to abstract class, it can't match because the return is different for abstract. Description of parameters does match for both.