a callable that accepts as many arguments as there are structures.
*structures
a scalar, tuple, or list of constructed scalars and/or
tuples/lists, or scalars. Note: numpy arrays are considered scalars.
Returns
A new structure with the same arity as structure and same type as
structure[0], whose values correspond to fn(x[0], x[1], ...) where
x[i] is a value in the corresponding location in structure[i].
Raises
TypeError
if fn is not a callable, or *structure contains types other
than Struct.