let TriangleContourBuilder accept DifferentialFunction instead of GenericFunction