Fix operation functions to return a fraction instead of mutating, implement pow(int), add documentation