@ccamarat, I think any attempts to determine whether to slice at 3 or 4 will be fallible *in principle*; no amount of conditionals can determine if the user is trying to pass an argument or the object to be instantiated. While I wish it was possible, I think @cobbweb's solution to use the object literal definition is the way to go here.