Adds math functions as properties and takes care of operators for interacting between different types of scalars.