obj: Keep code DRY with macro