Composite by Vitaly Kamiansky, Vladimir Ilin

<PackageReference Include="Composite" Version="1.5.5" />

 Comp

public static class Comp
public static IEnumerable<Composite<T>> components<T>(Composite<T> source)

Returns the sequence of components of the input composite.

public static Composite<T> fork<T>(FSharpFunc<T, bool> predicate, FSharpFunc<T, IEnumerable<T>> mapping, Composite<T> source)

Builds a new composite based on the source in which the values for which the given predicate returns true are substituted for composites containing the objects produced by using the given function as their value components.

public static Composite<TOut> map<TIn, TOut>(FSharpFunc<TIn, TOut> mapping, Composite<TIn> source)

Builds a new composite based on the source in which the values are the results of applying the given function to each of the values in the input composite.