public Library( string name, Optional.Class<string> directory = new Optional.Class<string>(), Optional.Class<IEnumerable<Package>> packageList = new Optional.Class<IEnumerable<Package>>()) { Name = name; Directory = directory.Cast(); PackageList = packageList.OneIfAbsent(); }