public Option <SharedTicket> TryShareTicket(TicketResponse response) { var escalatedComments = TaggedComments(response.Comments, response.Audits); return(response.IsSharedBecause(Reason) && escalatedComments.Any() ? Some(new SharedTicket(Reason, response.WithComments(escalatedComments))) : None); }
internal static TicketResponse WithoutComments(this TicketResponse response) => response.WithComments(Array.Empty <Comment>());