public static Stream<Description> list(final PathValue<? extends Type> type) {
		if (type == null || type.value() == null) {
			return Stream.empty();
		}

		return switch (PropertyType.of(type.value())) {
			case StructType t ->  t.components()
				.map(c -> SimpleDescription.of(type.path(), c));
			case IndexedType t -> Stream.of(IndexedDescription.of(type.path(), t));
			case ElementType t -> Stream.empty();
		};
	}
Lists the <em>directly</em> available property descriptions for the
given {@code type} and start path, {@link PathValue#path()}.

{@snippet class="DescriptionSnippets" region="list(PathValue)"}

The code snippet above will create the following output
<pre>{@code
Description[path=book.title, type=java.lang.String, enclosure=Book]
Description[path=book.pages, type=int, enclosure=Book]
Description[path=book.authors, type=java.util.List<Author>, enclosure=Book]
}</pre>

@param type the enclosing type of the listed property descriptions
@return the <em>directly</em> available property descriptions
jenetics.incubator/src/main/java/io/jenetics/incubator/beans/description/Descriptions.java