@pimms.value<EOL><INDENT>def coordinates(surface, addresses):<DEDENT>
if isinstance(surface, Mesh): return addresses_to_coordinates(surface, addresses)<EOL>surfs = surface.surfaces<EOL>fn = lambda k: Path.addresses_to_coordinates(surfs[k], addresses)<EOL>return pimms.lazy_map({k:curry(fn, k) for k in six.iterkeys(surfs)})<EOL>
path.coordinates is, if path.surface is a mesh, a (3 x n) matrix of coordinates of the
points in the path along the surface of path.surface, such that the path exactly follows
the mesh. If path.surface is a topology, then this is a lazy-map of coordinate matrices
with the same keys as path.surface.surfaces.