"This wonderful Ukrainian dish given to me by my husband's grandmother can be made with any kind of filling from meat, cheese, and fruit. It can be eaten warm or cold. The varenyky freeze very well. Just be sure to allow the varenyky to dry before freezing."
Place potatoes into a large pot and cover with salted water; bring to a boil. Reduce heat to medium-low and simmer until tender, about 20 minutes. Drain.
Heat a large skillet over medium-high heat. Cook and stir beef in the hot skillet until browned and crumbly, 5 to 7 minutes; drain in a sieve or colander and rinse off excess fat with hot water.
Mash potatoes with milk in a bowl until smooth; stir in onion, garlic, 1 pinch salt, and pepper. Mix ground beef into potato mixture until filling is evenly combined.
Whisk flour and 4 teaspoons salt together in a deep bowl; stir in 1 cup water and eggs until dough is soft. Turn dough onto a floured surface and knead until smooth, 1 to 2 minutes. Divide dough into 4 equal parts and arrange on a baking sheet; cover with a damp towel or plastic wrap and let stand for 10 minutes.
Roll each piece of dough on a floured work surface until thin; cut into rounds using the rim of a large-mouth cup or large cookie cutter.
Spoon 1 to 2 tablespoons filling onto each round. Fold dough over filling creating a 1/2 circle; press edges together, sealing with a dash of water if needed. Arrange varenyky in a single layer on plates and cover with a clean towel.
Bring a pot of lightly salted water to a boil; cook 2 to 3 varenyky at a time in boiling water until cooked through and dough is puffed, about 4 minutes. Remove varenyky with a slotted spoon and repeat with remaining varenyky.