デフォルト引数

とあるソースを読んでいて、分らなかった書き方があったのでメモ。
分らなかったのは次のようなコード。仮引数の書き方が ?。

def foo(value = (not_set = true))
    p value, not_set
end

例示は理解の試金石、ということで幾つか試す。

foo
# true 
# true

foo 'iroha'
# "iroha"
# nil

foo true
# true
# nil

引数が指定されていない場合は両方とも true。引数が指定されている場合は、value は指定した引数に、not_set は nil になる。value が true の場合、明示的に指定したのか、それともデフォルト値が設定されたのかを判定したいときに使う?
ちょっと使いどころが分らない...。そのソースを読んでもこの記法によるメリットがよく分らなかった。