Cleanup
Separate out templates for different cast functions
Cast to Int, BigInt from Decimal