code: def wrap_python_function(cls, fn):
          
          def wrapped(sass_arg):
              # TODO enforce no units for trig?
              python_arg = sass_arg.value
              python_ret = fn(python_arg)
              sass_ret = cls(
                  python_ret,
                  unit_numer=sass_arg.unit_numer,
                  unit_denom=sass_arg.unit_denom)
              return sass_ret
  
          return wrapped
docs: Wraps an unary Python math function, translating the argument from
          Sass to Python on the way in, and vice versa for the return value.
  
          Used to wrap simple Python functions like `ceil`, `floor`, etc.