produce

fun produce(base: Move? = null, resolveImmediately: Boolean = false): Move
fun produce(base: Move? = null, resolveImmediately: Boolean = false, block: MoveDraft.() -> Unit): Move