From the source:
It is available on Unix-like operating systems including macOS, Linux, Solaris, and BSD, and is available on Windows NT-based operating systems including Windows XP, Windows Vista, Windows 7, Windows 8 and Windows 10.
keepitself is just an internal alias for
@9214 Today I had not the time to investigate but after one day my doubts are more clear:
1) Composed block content is not reduced apart everything between parens (), everything else is kept untouched.
2) Collect "binds" words buts return only what you "keep"
3 ) You can enter everything in the "outer" part outside parents. Until you ask for it to be interpred it is valid content, like
compose [areearererer "aeeggekk" (5 + 3) ]
It is a valid compose block
collect [areearererer "aeeggekk" 8 ]
Is not a valid collect block.
@9214 The remaining question is:
How do I use "]" or "(" and ")" inside a compose block ?
compose [some words ] ]
Give me an error while
compose [some words  ]
compose [some words (()) ]
compose [some words [()]]
compose [some words ( ]
Are all not valid syntax
[. Your only choice is to use strings (e.g.
do-something func [s] [...] do-something "[foo").
compose [some words [()]](1) and
compose [some words (()) ](2) are valid syntaxes but they just evaluate to something that you might not want. 2 - there is no paren! here. There are only 2 words and the block. If you want compose parens in nested block use
/deeprefinement. 1 - composing empty parens will result in "nothing"* but it is still valid syntax.