public async Task <IActionResult> GetOrderItems(int orderId) { var getOrderExpr = from orderResult in RestaurantDomainEx.GetOrder(orderId) select orderResult; var order = await _interpreter.Interpret(getOrderExpr, Unit.Default); var getOrderItemsExpr = from orderItemsResult in RestaurantDomain.GetOrderItems(order.Order) select orderItemsResult; var orderItems = await _interpreter.Interpret(getOrderItemsExpr, Unit.Default); return(orderItems.Match( found => (IActionResult)Ok(found.OrderItems), notFound => NotFound())); }