I don't want to change `@property` annotations in this PR as far as possible. After compiler change merged, we would need discussing what functions should be whether a property or not.