Stream: val as lazy to avoid initializer problems