abstract type Edible end
eat(::Edible) = "Yum!"
mutable struct FoodBox{T<:Edible}
food::Vector{T}
end
struct Carrot <: Edible
variety::AbstractString
struct Brick
volume::Float64
c = Carrot("Baby")
b = Brick(125.0)
eat(c)
eat(b)