just realised the splat in the initialise argument, removed the extra code for empty enums