multimethod.js (npm): Multimethods in JavaScript (ala Clojure)
Keywords: multimethods|polymorphism|composition