I think that this should be moved to Piecewise.eval