The compiler always create private fields:
In some cases, constants for instance, public and final fields are useful.
Hm. I think since we're emulating Ruby's behavior it might make sense to default fields to protected. We could allow using @syntax to refer to private and public fields that are not constants.
Maybe for that we'd want to make a syntax for declarations in cases where you want to change the visibility.