immutable SCpow{T<:AbstractFloat} pow1au::T powMin::T powMax::T peff::T powModCoffs :: Vector{T} degfac::Tend
> dump(SCpower)
FROST.SCpow{Float64}
pow1au: Float64 10000.0
powMin: Float64 1.0
powMax: Float64 500.0
peff: Float64 0.8
powModCoffs: Array(Float64,(4,)) [1.0,0.0,0.0,0.0]
degfac: Float64 0.02
SCpower.pow1au
SC.SCpower.pow1au
Also, I still am confused about type argument behavior because according to the documentation:
"An object with an immutable type is passed around (both in assignment statements and in function calls) by copying, whereas a mutable type is passed around by reference."
To me that reads that immutable types are passed by copying and not be reference?
So there is a memory allocation overhead everytime we pass an immutable type and the overhead would grow with size of the type. That to me sounds like we shouldn't be using immutable types for storing large number of values.