@dysfun If the one type can be "object", the one type will be object.#Kittyscript (the language I'm actually developing) is pretty close to it, every value has a method handler associated with it. That's a function which gets the object as the first argument, the method name as the second and followed by the arguments to the specific method. An object can also be used like a function, if it has a __call method.Some objects (that are implemented as Kittyscript records or implement the KsObject interface on the Java/Kotlin level) have individual method handlers, while other objects (including Kotlin and Java objects) get handled by a "fallback" method handler that also dispatches on the type of the object.