sys::Obj std::Lazy
call initial when val is null
Lazy^T get()
virtual override Bool isImmutable()
new make(Func<Lazy^T> initial)
virtual override Lazy<Lazy^T> toImmutable()