The mapping requires both the input instance/object and the constructed instance -- construct only handles an object coming from the host, which will always have an ID -- it won't be aware if the initial input was mapped or not, or if it had an ID