Without thinking too long about it, I would probably be inclined to do
function LongConstructorName(value::T, gradient::S) where
{T <: Real, S <: AbstractVector{T}}
1+1
end
although I could easily see myself doing
function LongConstructorName(value::T,
gradient::S) where {T <: Real,
S <: AbstractVector{T}}
1+1
end
just because my editor would be helpful with it.