harborDiscount :: Harbor -> Set HarborDiscount
harborDiscount harbor'
  = case harbor' of
      Harbor Hill -> Set.singleton (mkDiscount 2 Brick)
      Harbor Forest -> Set.singleton (mkDiscount 2 Lumber)
      Harbor Pasture -> Set.singleton (mkDiscount 2 Wool)
      Harbor Field -> Set.singleton (mkDiscount 2 Wheat)
      Harbor Mountain -> Set.singleton (mkDiscount 2 Ore)
      Harbor Desert -> Set.empty
      ThreeToOne -> genericHarborDiscount 3
harborDiscount :: Harbor -> Set HarborDiscount
harborDiscount harbor'
  = case harbor' of
      Harbor Hill -> Set.singleton (mkDiscount 2 Brick)
      Harbor Forest -> Set.singleton (mkDiscount 2 Lumber)
      Harbor Pasture -> Set.singleton (mkDiscount 2 Wool)
      Harbor Field -> Set.singleton (mkDiscount 2 Wheat)
      Harbor Mountain -> Set.singleton (mkDiscount 2 Ore)
      Harbor Desert -> Set.empty
      ThreeToOne -> genericHarborDiscount 3
harborDiscount harbor'
  = case harbor' of
      Harbor Hill -> Set.singleton (mkDiscount 2 Brick)
      Harbor Forest -> Set.singleton (mkDiscount 2 Lumber)
      Harbor Pasture -> Set.singleton (mkDiscount 2 Wool)
      Harbor Field -> Set.singleton (mkDiscount 2 Wheat)
      Harbor Mountain -> Set.singleton (mkDiscount 2 Ore)
      Harbor Desert -> Set.empty
      ThreeToOne -> genericHarborDiscount 3