public async Task <IActionResult> GetRestaurants() { var getRestaurantsExpr = from restaurantResult in RestaurantDomain.GetRestaurants() select restaurantResult; var restaurants = await _interpreter.Interpret(getRestaurantsExpr, Unit.Default); return(restaurants.Match( found => (IActionResult)Ok(found.Restaurants), notFound => NotFound())); }