Your task is to write a program that, given a number n, returns a list of all valid, halting Smallfuck programs of length n, in any order.
Actually, we're using a variation of Smallfuck called F2, which is just Smallfuck with a right-unbounded tape. For the purposes of this challenge, a program that moves left from the start of the tape is considered invalid, as is one with unbalanced brackets.
Since solving this for every n is impossible (as it would require you to solve the halting problem), your submission's score will be the lowest n for which it returns an incorrect answer.
Each submission must be, at most, 1000 bytes (though you are encouraged to provide an ungolfed version as well). In the event of a tie, the earlier answer wins.
n = 1:
n = 2:
++ +> >+ >< >> 
n = 3:
+++ ++> +>+ +>< +>> >++ >+< >+> ><+ ><> >>+ >>< >>> > [+] [<] [>] + >
n = 4:
++++ +++> ++>+ ++>< ++>> +>++ +>+< +>+> +><+ +><> +>>+ +>>< +>>> >+++ >++< >++> >+<+ >+<> >+>+ >+>< >+>> ><++ ><+> ><>+ ><>< ><>> >>++ >>+< >>+> >><+ >><< >><> >>>+ >>>< >>>>  ++ +> >< >> [++] [+<] [+>] [<+] [<<] [<>] [>+] [><] [>>] ++ +> >+ >< >> +[+] +[>] >[+] >[<] >[>] >+ >< >> [+]+ [+]> [<]+ [<]> [>]+ [>]> []
Please inform me if there are any more that I have forgotten to add.