明らかに文字列を受け取って文字列を返す関数にundef渡したとき、
戻り値はundefと0文字列のどっちが安全で親切なんだろうか。
ケース倍ケースかな。