PRs welcome! Feel free to contribute in any way possible, it is appreciated. TODO Implement generics Have traits that are like the haskell type classes Operator, arity, and function overloading