fun <T : Spec> instantiateSpec(clazz: KClass<T>): Try<Spec>
Creates an instance of a Spec by delegating to constructor extensions, with a fallback to a reflection based zero-args constructor.