TODO: rename ! to *. when declare a var, give it a type because compiler assumes it is ? if costantantly adding to end of a list, should use a vector type instead of a list, because add is much faster than append (depends on length of left operand) TODO: test case inst a of mywire