there will be a function called overload in funcs.py
and i will separate out the atoms and quicks from builtins.py
into their own separate files
(transplied atoms stay in builtins.py)
and overload will be something like:
def overload(arity, fdict):
# return wrapper based on arity
# that switches between types of
# arguments and uses that to index
# into fdict and run the apporiate
# function
...
this way i can overload for: str strings, num numbers, lst lists, ils infinite lists, any any type