Whenever you write a method think about the contract of that method. What burdens are you imposing upon the caller? Are they reasonable burdens? The purpose of a method should be to make the caller’s life easier; the original version of Lines() makes life harder on the caller. The new version makes life easier. Don't write high-maintenance methods.