protect from Null for metadata
protect from Null for metadata
more generic special functions (step -> heaviside, step_lin -> ramp)