Right now, any return type annotations on behaviors are turned into ordinary return type annotations. However, if the user wants to assert that the return type is a DuckType, this won't work.
For example, you might want to declare
@duck_type struct Container{T, N}
function similar(This, ::Int...)::Container{T, Any)
end
But similar won't return a literal `Container`. It will return some AbstractArray which fails a naive type assert.
Right now, any return type annotations on behaviors are turned into ordinary return type annotations. However, if the user wants to assert that the return type is a DuckType, this won't work.
For example, you might want to declare