fixing bug in scope tracking

In this case "-> ComplexType {"  which is part of a lambda.
adding plx::HeapRange

with a small test.
allow ItRange ctor to construct from other ItRange types

just needs start() and end() be able to convert.