§3.5.(b) Compatibility
A role method bound with the modifier get
should have no arguments
(it may have arbitrary arguments, which are silently ignored)
and should have a return type to which the base field is compatible.
A role method returning void will ignore the given value and thus has
no effect at all, which will be signaled by a compiler warning.
A role method bound with the modifier set
must have a first argument
that is compatible to the base field's type (additional arguments - if present -
are silently ignored) and must not declare a return type.