Right, adding .call doesn't automatically make an object callable. Thanks for catching that!
But we do want cljs$core$IFn$_invoke$arity$variadic and cljs$lang$maxFixedArity, right? - Herwig
Should the method names be written as symbols instead of keywords? extend has keywords, but it's a function.