The {0} definitions in the signature and implementation are not compatible because the signature defines the {1} '{2}' but ...