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()));
        }