package moe.nea.firm import ext.StringIdentifiable import kotlin.enums.enumEntries abstract class ManagedConfig(val identifier: String) { protected fun choice( codec: Codec, renderer: EnumRenderer, ): ManagedOption { return TODO() } protected inline fun choice( ): ManagedOption where E : Enum, E : StringIdentifiable { return choice( StringIdentifiable.createCodec { enumValues() }, EnumRenderer.default(), ) } }