When making ice cream, ice cream mixes with a low fat and protein content (and a high water content) can freeze in layers in the coldest parts of the container during the ice cream making process.
This physical effect can never be completely prevented.
This is why most ice cream recipes always contain a high-fat ingredient, such as cream. This ensures a good ‘creaminess’ and prevents the mixture from freezing due to an excessively high water content.
The fat in the cream acts as a ‘lubricant’, while the high protein content serves to bind the mixture.
If you want to avoid animal products, you can alternatively add vegetable fats (e.g. coconut fat, soya cream, palm fat).
For recipes with little fat/protein, you can still achieve a creamy consistency by adding a natural gelling agent (e.g. guar gum or cream stiffener). Incidentally, this is common in many commercially produced ice cream types; this ingredient is usually sodium alginate.