Added property types to do correct type interference

This is necessary to get correct type interference in for loops when it
is inferred from an external crate.