…appen at all...
(at the expense of 'with' now needing the expression to be tested in brackets) do notation doesn't quite behave right - the first token after the do block must be at a lower level of indentation, which means putting it in brackets is awkward.
%access sets the 'default' accessibility to public, private or abstract. If there are *no* access modifiers in a file, everything is public (this is the same behaviour as a Haskell module with no export list). If there are *any* access modifiers in a file, then declarations with no accessibility modifier take the %access setting as default. The default %access setting is 'private'.