Sim, as declarações de recursos devem ser exclusivas. Se você usa recursos virtuais, declare-os apenas uma vez:
@user { 'name': ... }
Não deve haver outra declaração virtual ou não virtual do recurso User['name']
. Você pode perceber ou coletar o recurso sempre que desejar.
User<| |>
User<| title == 'name' |>
realize(User['name'])
Como observação geral, evite nomear um módulo classe porque class
é uma palavra reservada.