汎用性拡張性がどの程度必要かによるのでなんとも…
前者は前準備をせずに呼び出された場合の挙動を実装しておく必要があるが拡張性が高い
後者はそれは不要だが拡張性が多少落ちる
とりあえずは自分が使いやすいように実装すればいいかと

なお他人から呼ばれるライブラリ関数なら手数を途中で増やすのはNGの可能性が高いので
後者になる可能性が高い