talking about data and function shapes is quite common in functional programming world
https://blog.jle.im/entry/functors-to-monads-a-story-of-shap...