Returns a generic Spec that is lazily generated when visited.
Spec lazySpec(Spec Function() generate) => _LazySpec(generate);