So, it looks like MakeOnGenerateWidget doesn’t exist. The only search hit in the engine source is the documentation snipped you quoted before.
I tried using TSharedPtr instead of pointers, but now the engine crashes as soon as the list is displayed, inside STableRow::GetBorder(). It looks like “OwnerWidget” is NULL.
ShipListData.AddUnique(MakeShareable(GetShipPawn()));