This is likely not due to just the math.hpp, but I have noticed this problem:

```
eval> cos(0)
Error: "Error with function dispatch with function 'cos'" With parameters: (const int) during evaluation at (1, 1)
eval> cos(0.0)
1
```

If I pass a number as an int to a function, it comes back with an error. I have to force the number to a floating point representation.

This seems like something my users would like do.

e.g.

```
var theta = 45
tan(theta)
```

And this would fail.

Is this a bug in the eval()?