Finally!  Proper subtyping through the prototype property!

    ... turns out I just needed to read the manual ;;