macro getattr(x; attr: static[string]): untyped
macro getattr(x; attr: static[string]; default): untyped
macro hasattr(x; attr: static[string]): bool
macro setattr(x; attr: static[string]; val)