There are differences between the @initialization
macro and the @model
macro, which might be confusing for users. An example:
@model function model()
x ~ NormalMeanPrecision(0.0, 1.0) # allowed
x ~ Normal(mean = 0.0, precision = 1.0) # allowed
end
@initialization begin
q(x) = Normal(mean = 0.0, precision = 1.0) # not allowed
q(x) = NormalMeanPrecision(0.0, 1.0) # allowed
end
Would be nice if we can streamline this.