Adds first-pass support for ad hoc polymorphism... so far so good... seems pretty neat! Polymorphic constructor is up next...