ensure correct type info is used when binding to existing instances

some duplication here, a minor refactor would be good