Hi, everyone.

I'm trying to understand why the following asserts hold

// Method
def m(def x) { x }
assert m() == null

// Closure
def c = { def x -> x }
assert c() == null

// Constructor
class Klass {
    String msg
   
    Klass(def x) {
        this.msg = "$x should be null"
    }
}
assert (new Klass()).msg == 'null should be null'

The arity of the method/closure/constructor is one but I can call it without any argument at all. What I'm missing?

Thank you in advance.