IFooable2 names its parameter; IFooable does not.
It matters when systems reflect parameter names. As an example, when you use WCF with an interface type marked with ServiceContractAttribute, by default WCF uses the parameter names in the interface to control the names that appear in the XML data projection onto the wire.
It is also important for a snap, for example, to reference this F # code in C #, declare a variable of each type, and view intellisense hints for each method.
( ).