See comments

Got rid of complicated ternary expressions
Fixed what I think was a slight bug in the isSubType method of the
TypeCheckVisitor
Got rid of array dispatch table, inlined all dispatches to .length()
added underscore so that users defined classes don’t overlap