adjust constructor scoring algorithm

When a constructor argument is missing,  it should be treated accordingly, depending on whether the argument is optional.