This may belong into `metaprogramming.hxx`or `multi_shape.hxx`