(- new api) Expose a flexible toString on Expression