./Build criticwill run
Here's an example...
wrap my $wrapped = $string->wrap( width => $width, separator => $separator ); Wraps $string to $width characters, breaking lines at word boundries using $separator. $width defaults to 76. The default $separator is the newline character "\n".
A method should have a default if you asked a normal human to do the task and they wouldn't ask any further questions about it. You can determine this with a short conversation with yourself.
Alice: Round 12.1 please. Bob: 12
See how one doesn't have to ask "to what precision" or "up or down". Even though these are rounding options, humans, on a regular basis, round in one way.
["foo", "bar", "baz"]->join...
Alice: Join "foo", "bar", and "baz" together. Bob: Join them with what? Alice: Commas.
Alice could have equally likely said "spaces" or "tabs" or "nothing". Good indicator that
join should not have a default.