Tag
This article explains how to use Dart's final class with private constructors to create proof types that enforce validation at compile time, ensuring that certain computations have been performed before values are used.