Lets
attachGenerator {.compileTime.} = newGenerator("Attach", {Standard, Outside}, generateAttach, attachArchetype, defaultName, attachFields, defaultSystemArg, defaultNestedArgs, defaultConverters)
detachGenerator {.compileTime.} = newGenerator("Detach", {Standard, Outside}, generateDetach, detachArchetype, defaultName, detachFields, defaultSystemArg, defaultNestedArgs, defaultConverters)
swapGenerator {.compileTime.} = newGenerator("Swap", {Outside, Standard}, generateSwap, swapArchetype, defaultName, swapFields, defaultSystemArg, defaultNestedArgs, defaultConverters)