I was going to follow up my question with the possible practical use of why and where someone would use such a construct to wrap a function inside a new data-type.For all that matters I could have used 'length' function directly to get the same output.