straight の定義が妙だね。
対象のマスに期待する石がなかった場合、 Len は 0 になる。
それ以外の場合、 Len + 1 を代入した Len1 を使って再帰してる。
でもこれをやるには、 Len は既に数値でなきゃいけない。
しかも、再帰先でこの Len1 と 0 との単一化が成功するには、 Len は負の数でなきゃいけない。