See the attached failing test.
Class A has two properties (Name, ExtraId) mapped within a <properties> group. Retrieving an instance of A returns an instance without these properties being set.
Some preliminary debugging shows that two instances of A are being created by the call to Session.Get(). The first is being correctly inititalised; the second (which is the instance actually returned) isn't.