Hmm... I guess that this may be a non-issue. I tried the following:
type Foo
a::Float64
end
function Foo(a::Int64)
a
end
Foo(1.0) #Foo(1.0)
Foo(1) #1
...and it seems there's no syntactic issues with having a function named
the same as a type which returns values of a different type. So I could
just create a new function Normal(DualNumber,DualNumber) which returns a
DifferentiableNormal object, and everything would work.
So this question reduces to: is that a stylistic no-no?
