Module scoping and macro expansion

OK, I’ve solved it - I just needed to do some more escaping in @initialise!:

Before:

macro initialise!(habitatdescriptor, kwargs...)
    :($(esc(:initialise!)) = initpopulation($habitatdescriptor, $(kwargs...)))
end

After:

macro initialise!(habitatdescriptor, kwargs...)
    :($(esc(:initialise!)) = initpopulation($(esc(habitatdescriptor)); $(map(esc, kwargs)...)))
end