Pipeline Composition

// Validate → bind business logic → transform output
Result<OrderDto> dto = await rules.Validate(request)
    .BindAsync(r => _service.CreateOrderAsync(r))
    .Map(order => order.ToDto());

// In Minimal APIs
return rules.Validate(request).ToIResult();