FsCodec by @jet @moneylion @amjjd @bartelink @eiriktsarpalis and contributors

<PackageReference Include="FsCodec" Version="3.0.3" />

 TimelineEvent<Format>

public class TimelineEvent<Format> : ITimelineEvent<Format>
public TimelineEvent(long index, string eventType, Format data, Format meta, Guid eventId, string correlationId, string causationId, DateTimeOffset timestamp, bool isUnfold, object context, int size)

public static ITimelineEvent<Format> Create(long index, string eventType, Format data, FSharpOption<Format> meta, FSharpOption<Guid> eventId, FSharpOption<string> correlationId, FSharpOption<string> causationId, FSharpOption<DateTimeOffset> timestamp, FSharpOption<bool> isUnfold, FSharpOption<object> context, FSharpOption<int> size)

public static ITimelineEvent<Format> Create(long index, IEventData<Format> inner, FSharpOption<bool> isUnfold, FSharpOption<object> context, FSharpOption<int> size)

public static ITimelineEvent<Mapped> Map<Mapped>(Func<Format, Mapped> f, ITimelineEvent<Format> x)