
inline fun <reified T : Mammal> String.buildSomething(): T = T::class.companionObjectInstance?.let { inst ->
    (inst as? Createable)?.let { it.create(this) as T }
} ?: throw Exception("No compatible companion object for ${T::class}")
