úÎ µ œ  SafeFRA StepFunction is implemented as a default value and a sorted list of TransitionsHA Transition, for a certain value on the x axis, there is a new y value.(The x value where the transition happensThe new y valueAIf True, y_val is for all x >= x_val, otherwise for all x > x_val>Smart constructor sorts and simplifies the list of transitionsGet the y value for a given x @Merge two step function, such that the following should be true: :valAt x (merge f sf1 sf2) == f (valAt x sf1) (valAt x sf2)¶The resulting step function will be simplified, transitions that don't change the y value will be eliminated, and transitions that happen on the same x position will be eliminated.              stepf_9zk4ytoA8tiLF0ay3XXJpIData.StepFunction StepFunction transitions Transitionx_valy_val left_closedmkStepFunctionvalAtmergedefleqx_posmergeT mergeLeft mergeRight mergeBothsimplify$fOrdTransition$fFunctorTransition