While I see now that we agree on more than it seemed to me reading your last post, I yet disagree on one point: passing some type of object as an argument to the constructor can be a common error, and you may want to have a method that allow such input just to spew an ArgumentError giving specific guidance on that (or you may want to block some specific case to avoid confusion, like allowing Numbers but not Bool which is a Number). But maybe, the right way to deal with that is the Base.Experimental.register_error_hint I mentioned before.
1 Like