Thanks for the kind words.
Yea I want to add inheritance for objects, this is fairly simple and I would do it in the mixin/trait style, rather than traditional C++-style OO inheritance.
As for the method dispatch polymorphism, the tack I took was using pattern matching instead. This does almost exactly what you suggest in your example:
require prelude as hidden # hide coz of print()
print(p) =>
Employee : ...
Person : ...
Customer : ...
Instead of thinking of them as separate methods, you can think of them as different flavors based on type. This is available right now in Loop.
Dhanji.