Also, for this specific problem, there is no reason to define an inner constructor; the constructors provided by the language as default should work fine. See parametric constructors.
Thanks, I didn’t include those tests on a, b, c in the comment of my code. I need to check that a, b, c are positive and less than one, otherwise throw an error:
if 0 < a < 1 && 0 < b < 1 && 0 < c < 1
new{T}(a, b, c)
else
error("a, b, c must be positive and less than 1")
end