This works in the present code - type and mapping declaration after assignment (see tests/language-behaviour/040-program-order.swift) outfile = greeting("hi"); messagefile outfile <"040-program-order.out">; When implementing some more compile time checking, I rediscovered this. I'm not sure whether I prefer this to be permitted or to be prohibited. --